// Layer Registry header // // This file is auto-generated by cmake, don't edit it. static const layer_registry_entry layer_registry[] = { #if NCNN_STRING {"AbsVal", AbsVal_final_layer_creator}, #else {AbsVal_final_layer_creator}, #endif #if NCNN_STRING {"ArgMax", 0}, #else {0}, #endif #if NCNN_STRING {"BatchNorm", BatchNorm_final_layer_creator}, #else {BatchNorm_final_layer_creator}, #endif #if NCNN_STRING {"Bias", Bias_final_layer_creator}, #else {Bias_final_layer_creator}, #endif #if NCNN_STRING {"BNLL", BNLL_final_layer_creator}, #else {BNLL_final_layer_creator}, #endif #if NCNN_STRING {"Concat", Concat_final_layer_creator}, #else {Concat_final_layer_creator}, #endif #if NCNN_STRING {"Convolution", Convolution_final_layer_creator}, #else {Convolution_final_layer_creator}, #endif #if NCNN_STRING {"Crop", Crop_final_layer_creator}, #else {Crop_final_layer_creator}, #endif #if NCNN_STRING {"Deconvolution", Deconvolution_final_layer_creator}, #else {Deconvolution_final_layer_creator}, #endif #if NCNN_STRING {"Dropout", Dropout_final_layer_creator}, #else {Dropout_final_layer_creator}, #endif #if NCNN_STRING {"Eltwise", Eltwise_final_layer_creator}, #else {Eltwise_final_layer_creator}, #endif #if NCNN_STRING {"ELU", ELU_final_layer_creator}, #else {ELU_final_layer_creator}, #endif #if NCNN_STRING {"Embed", Embed_final_layer_creator}, #else {Embed_final_layer_creator}, #endif #if NCNN_STRING {"Exp", Exp_final_layer_creator}, #else {Exp_final_layer_creator}, #endif #if NCNN_STRING {"Flatten", Flatten_final_layer_creator}, #else {Flatten_final_layer_creator}, #endif #if NCNN_STRING {"InnerProduct", InnerProduct_final_layer_creator}, #else {InnerProduct_final_layer_creator}, #endif #if NCNN_STRING {"Input", Input_final_layer_creator}, #else {Input_final_layer_creator}, #endif #if NCNN_STRING {"Log", Log_final_layer_creator}, #else {Log_final_layer_creator}, #endif #if NCNN_STRING {"LRN", LRN_final_layer_creator}, #else {LRN_final_layer_creator}, #endif #if NCNN_STRING {"MemoryData", MemoryData_final_layer_creator}, #else {MemoryData_final_layer_creator}, #endif #if NCNN_STRING {"MVN", MVN_final_layer_creator}, #else {MVN_final_layer_creator}, #endif #if NCNN_STRING {"Pooling", Pooling_final_layer_creator}, #else {Pooling_final_layer_creator}, #endif #if NCNN_STRING {"Power", Power_final_layer_creator}, #else {Power_final_layer_creator}, #endif #if NCNN_STRING {"PReLU", PReLU_final_layer_creator}, #else {PReLU_final_layer_creator}, #endif #if NCNN_STRING {"Proposal", Proposal_final_layer_creator}, #else {Proposal_final_layer_creator}, #endif #if NCNN_STRING {"Reduction", Reduction_final_layer_creator}, #else {Reduction_final_layer_creator}, #endif #if NCNN_STRING {"ReLU", ReLU_final_layer_creator}, #else {ReLU_final_layer_creator}, #endif #if NCNN_STRING {"Reshape", Reshape_final_layer_creator}, #else {Reshape_final_layer_creator}, #endif #if NCNN_STRING {"ROIPooling", ROIPooling_final_layer_creator}, #else {ROIPooling_final_layer_creator}, #endif #if NCNN_STRING {"Scale", Scale_final_layer_creator}, #else {Scale_final_layer_creator}, #endif #if NCNN_STRING {"Sigmoid", Sigmoid_final_layer_creator}, #else {Sigmoid_final_layer_creator}, #endif #if NCNN_STRING {"Slice", Slice_final_layer_creator}, #else {Slice_final_layer_creator}, #endif #if NCNN_STRING {"Softmax", Softmax_final_layer_creator}, #else {Softmax_final_layer_creator}, #endif #if NCNN_STRING {"Split", Split_final_layer_creator}, #else {Split_final_layer_creator}, #endif #if NCNN_STRING {"SPP", 0}, #else {0}, #endif #if NCNN_STRING {"TanH", TanH_final_layer_creator}, #else {TanH_final_layer_creator}, #endif #if NCNN_STRING {"Threshold", Threshold_final_layer_creator}, #else {Threshold_final_layer_creator}, #endif #if NCNN_STRING {"Tile", Tile_final_layer_creator}, #else {Tile_final_layer_creator}, #endif #if NCNN_STRING {"RNN", RNN_final_layer_creator}, #else {RNN_final_layer_creator}, #endif #if NCNN_STRING {"LSTM", LSTM_final_layer_creator}, #else {LSTM_final_layer_creator}, #endif #if NCNN_STRING {"BinaryOp", BinaryOp_final_layer_creator}, #else {BinaryOp_final_layer_creator}, #endif #if NCNN_STRING {"UnaryOp", UnaryOp_final_layer_creator}, #else {UnaryOp_final_layer_creator}, #endif #if NCNN_STRING {"ConvolutionDepthWise", ConvolutionDepthWise_final_layer_creator}, #else {ConvolutionDepthWise_final_layer_creator}, #endif #if NCNN_STRING {"Padding", Padding_final_layer_creator}, #else {Padding_final_layer_creator}, #endif #if NCNN_STRING {"Squeeze", Squeeze_final_layer_creator}, #else {Squeeze_final_layer_creator}, #endif #if NCNN_STRING {"ExpandDims", ExpandDims_final_layer_creator}, #else {ExpandDims_final_layer_creator}, #endif #if NCNN_STRING {"Normalize", Normalize_final_layer_creator}, #else {Normalize_final_layer_creator}, #endif #if NCNN_STRING {"Permute", Permute_final_layer_creator}, #else {Permute_final_layer_creator}, #endif #if NCNN_STRING {"PriorBox", PriorBox_final_layer_creator}, #else {PriorBox_final_layer_creator}, #endif #if NCNN_STRING {"DetectionOutput", DetectionOutput_final_layer_creator}, #else {DetectionOutput_final_layer_creator}, #endif #if NCNN_STRING {"Interp", Interp_final_layer_creator}, #else {Interp_final_layer_creator}, #endif #if NCNN_STRING {"DeconvolutionDepthWise", DeconvolutionDepthWise_final_layer_creator}, #else {DeconvolutionDepthWise_final_layer_creator}, #endif #if NCNN_STRING {"ShuffleChannel", ShuffleChannel_final_layer_creator}, #else {ShuffleChannel_final_layer_creator}, #endif #if NCNN_STRING {"InstanceNorm", InstanceNorm_final_layer_creator}, #else {InstanceNorm_final_layer_creator}, #endif #if NCNN_STRING {"Clip", Clip_final_layer_creator}, #else {Clip_final_layer_creator}, #endif #if NCNN_STRING {"Reorg", Reorg_final_layer_creator}, #else {Reorg_final_layer_creator}, #endif #if NCNN_STRING {"YoloDetectionOutput", YoloDetectionOutput_final_layer_creator}, #else {YoloDetectionOutput_final_layer_creator}, #endif #if NCNN_STRING {"Quantize", Quantize_final_layer_creator}, #else {Quantize_final_layer_creator}, #endif #if NCNN_STRING {"Dequantize", Dequantize_final_layer_creator}, #else {Dequantize_final_layer_creator}, #endif #if NCNN_STRING {"Yolov3DetectionOutput", Yolov3DetectionOutput_final_layer_creator}, #else {Yolov3DetectionOutput_final_layer_creator}, #endif #if NCNN_STRING {"PSROIPooling", PSROIPooling_final_layer_creator}, #else {PSROIPooling_final_layer_creator}, #endif #if NCNN_STRING {"ROIAlign", ROIAlign_final_layer_creator}, #else {ROIAlign_final_layer_creator}, #endif #if NCNN_STRING {"Packing", Packing_final_layer_creator}, #else {Packing_final_layer_creator}, #endif #if NCNN_STRING {"Requantize", Requantize_final_layer_creator}, #else {Requantize_final_layer_creator}, #endif #if NCNN_STRING {"Cast", Cast_final_layer_creator}, #else {Cast_final_layer_creator}, #endif #if NCNN_STRING {"HardSigmoid", HardSigmoid_final_layer_creator}, #else {HardSigmoid_final_layer_creator}, #endif #if NCNN_STRING {"SELU", SELU_final_layer_creator}, #else {SELU_final_layer_creator}, #endif #if NCNN_STRING {"HardSwish", HardSwish_final_layer_creator}, #else {HardSwish_final_layer_creator}, #endif #if NCNN_STRING {"Noop", Noop_final_layer_creator}, #else {Noop_final_layer_creator}, #endif #if NCNN_STRING {"PixelShuffle", PixelShuffle_final_layer_creator}, #else {PixelShuffle_final_layer_creator}, #endif #if NCNN_STRING {"DeepCopy", DeepCopy_final_layer_creator}, #else {DeepCopy_final_layer_creator}, #endif #if NCNN_STRING {"Mish", Mish_final_layer_creator}, #else {Mish_final_layer_creator}, #endif #if NCNN_STRING {"StatisticsPooling", StatisticsPooling_final_layer_creator}, #else {StatisticsPooling_final_layer_creator}, #endif #if NCNN_STRING {"Swish", Swish_final_layer_creator}, #else {Swish_final_layer_creator}, #endif #if NCNN_STRING {"Gemm", Gemm_final_layer_creator}, #else {Gemm_final_layer_creator}, #endif #if NCNN_STRING {"GroupNorm", GroupNorm_final_layer_creator}, #else {GroupNorm_final_layer_creator}, #endif #if NCNN_STRING {"LayerNorm", LayerNorm_final_layer_creator}, #else {LayerNorm_final_layer_creator}, #endif #if NCNN_STRING {"Softplus", Softplus_final_layer_creator}, #else {Softplus_final_layer_creator}, #endif #if NCNN_STRING {"GRU", GRU_final_layer_creator}, #else {GRU_final_layer_creator}, #endif #if NCNN_STRING {"MultiHeadAttention", MultiHeadAttention_final_layer_creator}, #else {MultiHeadAttention_final_layer_creator}, #endif #if NCNN_STRING {"GELU", GELU_final_layer_creator}, #else {GELU_final_layer_creator}, #endif #if NCNN_STRING {"Convolution1D", Convolution1D_final_layer_creator}, #else {Convolution1D_final_layer_creator}, #endif #if NCNN_STRING {"Pooling1D", Pooling1D_final_layer_creator}, #else {Pooling1D_final_layer_creator}, #endif #if NCNN_STRING {"ConvolutionDepthWise1D", ConvolutionDepthWise1D_final_layer_creator}, #else {ConvolutionDepthWise1D_final_layer_creator}, #endif #if NCNN_STRING {"Convolution3D", Convolution3D_final_layer_creator}, #else {Convolution3D_final_layer_creator}, #endif #if NCNN_STRING {"ConvolutionDepthWise3D", ConvolutionDepthWise3D_final_layer_creator}, #else {ConvolutionDepthWise3D_final_layer_creator}, #endif #if NCNN_STRING {"Pooling3D", Pooling3D_final_layer_creator}, #else {Pooling3D_final_layer_creator}, #endif #if NCNN_STRING {"MatMul", MatMul_final_layer_creator}, #else {MatMul_final_layer_creator}, #endif #if NCNN_STRING {"Deconvolution1D", Deconvolution1D_final_layer_creator}, #else {Deconvolution1D_final_layer_creator}, #endif #if NCNN_STRING {"DeconvolutionDepthWise1D", DeconvolutionDepthWise1D_final_layer_creator}, #else {DeconvolutionDepthWise1D_final_layer_creator}, #endif #if NCNN_STRING {"Deconvolution3D", Deconvolution3D_final_layer_creator}, #else {Deconvolution3D_final_layer_creator}, #endif #if NCNN_STRING {"DeconvolutionDepthWise3D", DeconvolutionDepthWise3D_final_layer_creator}, #else {DeconvolutionDepthWise3D_final_layer_creator}, #endif #if NCNN_STRING {"Einsum", Einsum_final_layer_creator}, #else {Einsum_final_layer_creator}, #endif #if NCNN_STRING {"DeformableConv2D", DeformableConv2D_final_layer_creator}, #else {DeformableConv2D_final_layer_creator}, #endif #if NCNN_STRING {"GLU", GLU_final_layer_creator}, #else {GLU_final_layer_creator}, #endif #if NCNN_STRING {"Fold", Fold_final_layer_creator}, #else {Fold_final_layer_creator}, #endif #if NCNN_STRING {"Unfold", Unfold_final_layer_creator}, #else {Unfold_final_layer_creator}, #endif #if NCNN_STRING {"GridSample", GridSample_final_layer_creator}, #else {GridSample_final_layer_creator}, #endif #if NCNN_STRING {"CumulativeSum", CumulativeSum_final_layer_creator}, #else {CumulativeSum_final_layer_creator}, #endif #if NCNN_STRING {"CopyTo", CopyTo_final_layer_creator}, #else {CopyTo_final_layer_creator}, #endif #if NCNN_STRING {"Erf", Erf_final_layer_creator}, #else {Erf_final_layer_creator}, #endif #if NCNN_STRING {"Diag", Diag_final_layer_creator}, #else {Diag_final_layer_creator}, #endif #if NCNN_STRING {"CELU", CELU_final_layer_creator}, #else {CELU_final_layer_creator}, #endif }; #if NCNN_RUNTIME_CPU && NCNN_AVX512 static const layer_registry_entry layer_registry_avx512[] = { #if NCNN_STRING {"AbsVal", AbsVal_final_layer_creator}, #else {AbsVal_final_layer_creator}, #endif #if NCNN_STRING {"ArgMax", 0}, #else {0}, #endif #if NCNN_STRING {"BatchNorm", BatchNorm_final_avx512_layer_creator}, #else {BatchNorm_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Bias", Bias_final_avx512_layer_creator}, #else {Bias_final_avx512_layer_creator}, #endif #if NCNN_STRING {"BNLL", BNLL_final_avx512_layer_creator}, #else {BNLL_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Concat", Concat_final_avx512_layer_creator}, #else {Concat_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Convolution", Convolution_final_avx512_layer_creator}, #else {Convolution_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Crop", Crop_final_avx512_layer_creator}, #else {Crop_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Deconvolution", Deconvolution_final_avx512_layer_creator}, #else {Deconvolution_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Dropout", Dropout_final_avx512_layer_creator}, #else {Dropout_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Eltwise", Eltwise_final_avx512_layer_creator}, #else {Eltwise_final_avx512_layer_creator}, #endif #if NCNN_STRING {"ELU", ELU_final_avx512_layer_creator}, #else {ELU_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Embed", Embed_final_layer_creator}, #else {Embed_final_layer_creator}, #endif #if NCNN_STRING {"Exp", Exp_final_layer_creator}, #else {Exp_final_layer_creator}, #endif #if NCNN_STRING {"Flatten", Flatten_final_avx512_layer_creator}, #else {Flatten_final_avx512_layer_creator}, #endif #if NCNN_STRING {"InnerProduct", InnerProduct_final_avx512_layer_creator}, #else {InnerProduct_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Input", Input_final_layer_creator}, #else {Input_final_layer_creator}, #endif #if NCNN_STRING {"Log", Log_final_layer_creator}, #else {Log_final_layer_creator}, #endif #if NCNN_STRING {"LRN", LRN_final_avx512_layer_creator}, #else {LRN_final_avx512_layer_creator}, #endif #if NCNN_STRING {"MemoryData", MemoryData_final_layer_creator}, #else {MemoryData_final_layer_creator}, #endif #if NCNN_STRING {"MVN", MVN_final_layer_creator}, #else {MVN_final_layer_creator}, #endif #if NCNN_STRING {"Pooling", Pooling_final_avx512_layer_creator}, #else {Pooling_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Power", Power_final_layer_creator}, #else {Power_final_layer_creator}, #endif #if NCNN_STRING {"PReLU", PReLU_final_avx512_layer_creator}, #else {PReLU_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Proposal", Proposal_final_layer_creator}, #else {Proposal_final_layer_creator}, #endif #if NCNN_STRING {"Reduction", Reduction_final_layer_creator}, #else {Reduction_final_layer_creator}, #endif #if NCNN_STRING {"ReLU", ReLU_final_avx512_layer_creator}, #else {ReLU_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Reshape", Reshape_final_avx512_layer_creator}, #else {Reshape_final_avx512_layer_creator}, #endif #if NCNN_STRING {"ROIPooling", ROIPooling_final_layer_creator}, #else {ROIPooling_final_layer_creator}, #endif #if NCNN_STRING {"Scale", Scale_final_avx512_layer_creator}, #else {Scale_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Sigmoid", Sigmoid_final_avx512_layer_creator}, #else {Sigmoid_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Slice", Slice_final_avx512_layer_creator}, #else {Slice_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Softmax", Softmax_final_avx512_layer_creator}, #else {Softmax_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Split", Split_final_layer_creator}, #else {Split_final_layer_creator}, #endif #if NCNN_STRING {"SPP", 0}, #else {0}, #endif #if NCNN_STRING {"TanH", TanH_final_avx512_layer_creator}, #else {TanH_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Threshold", Threshold_final_layer_creator}, #else {Threshold_final_layer_creator}, #endif #if NCNN_STRING {"Tile", Tile_final_layer_creator}, #else {Tile_final_layer_creator}, #endif #if NCNN_STRING {"RNN", RNN_final_layer_creator}, #else {RNN_final_layer_creator}, #endif #if NCNN_STRING {"LSTM", LSTM_final_avx512_layer_creator}, #else {LSTM_final_avx512_layer_creator}, #endif #if NCNN_STRING {"BinaryOp", BinaryOp_final_avx512_layer_creator}, #else {BinaryOp_final_avx512_layer_creator}, #endif #if NCNN_STRING {"UnaryOp", UnaryOp_final_avx512_layer_creator}, #else {UnaryOp_final_avx512_layer_creator}, #endif #if NCNN_STRING {"ConvolutionDepthWise", ConvolutionDepthWise_final_avx512_layer_creator}, #else {ConvolutionDepthWise_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Padding", Padding_final_avx512_layer_creator}, #else {Padding_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Squeeze", Squeeze_final_layer_creator}, #else {Squeeze_final_layer_creator}, #endif #if NCNN_STRING {"ExpandDims", ExpandDims_final_layer_creator}, #else {ExpandDims_final_layer_creator}, #endif #if NCNN_STRING {"Normalize", Normalize_final_layer_creator}, #else {Normalize_final_layer_creator}, #endif #if NCNN_STRING {"Permute", Permute_final_layer_creator}, #else {Permute_final_layer_creator}, #endif #if NCNN_STRING {"PriorBox", PriorBox_final_layer_creator}, #else {PriorBox_final_layer_creator}, #endif #if NCNN_STRING {"DetectionOutput", DetectionOutput_final_layer_creator}, #else {DetectionOutput_final_layer_creator}, #endif #if NCNN_STRING {"Interp", Interp_final_avx512_layer_creator}, #else {Interp_final_avx512_layer_creator}, #endif #if NCNN_STRING {"DeconvolutionDepthWise", DeconvolutionDepthWise_final_avx512_layer_creator}, #else {DeconvolutionDepthWise_final_avx512_layer_creator}, #endif #if NCNN_STRING {"ShuffleChannel", ShuffleChannel_final_layer_creator}, #else {ShuffleChannel_final_layer_creator}, #endif #if NCNN_STRING {"InstanceNorm", InstanceNorm_final_layer_creator}, #else {InstanceNorm_final_layer_creator}, #endif #if NCNN_STRING {"Clip", Clip_final_avx512_layer_creator}, #else {Clip_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Reorg", Reorg_final_layer_creator}, #else {Reorg_final_layer_creator}, #endif #if NCNN_STRING {"YoloDetectionOutput", YoloDetectionOutput_final_layer_creator}, #else {YoloDetectionOutput_final_layer_creator}, #endif #if NCNN_STRING {"Quantize", Quantize_final_avx512_layer_creator}, #else {Quantize_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Dequantize", Dequantize_final_avx512_layer_creator}, #else {Dequantize_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Yolov3DetectionOutput", Yolov3DetectionOutput_final_avx512_layer_creator}, #else {Yolov3DetectionOutput_final_avx512_layer_creator}, #endif #if NCNN_STRING {"PSROIPooling", PSROIPooling_final_layer_creator}, #else {PSROIPooling_final_layer_creator}, #endif #if NCNN_STRING {"ROIAlign", ROIAlign_final_avx512_layer_creator}, #else {ROIAlign_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Packing", Packing_final_avx512_layer_creator}, #else {Packing_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Requantize", Requantize_final_avx512_layer_creator}, #else {Requantize_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Cast", Cast_final_avx512_layer_creator}, #else {Cast_final_avx512_layer_creator}, #endif #if NCNN_STRING {"HardSigmoid", HardSigmoid_final_avx512_layer_creator}, #else {HardSigmoid_final_avx512_layer_creator}, #endif #if NCNN_STRING {"SELU", SELU_final_layer_creator}, #else {SELU_final_layer_creator}, #endif #if NCNN_STRING {"HardSwish", HardSwish_final_avx512_layer_creator}, #else {HardSwish_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Noop", Noop_final_layer_creator}, #else {Noop_final_layer_creator}, #endif #if NCNN_STRING {"PixelShuffle", PixelShuffle_final_layer_creator}, #else {PixelShuffle_final_layer_creator}, #endif #if NCNN_STRING {"DeepCopy", DeepCopy_final_layer_creator}, #else {DeepCopy_final_layer_creator}, #endif #if NCNN_STRING {"Mish", Mish_final_avx512_layer_creator}, #else {Mish_final_avx512_layer_creator}, #endif #if NCNN_STRING {"StatisticsPooling", StatisticsPooling_final_layer_creator}, #else {StatisticsPooling_final_layer_creator}, #endif #if NCNN_STRING {"Swish", Swish_final_avx512_layer_creator}, #else {Swish_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Gemm", Gemm_final_avx512_layer_creator}, #else {Gemm_final_avx512_layer_creator}, #endif #if NCNN_STRING {"GroupNorm", GroupNorm_final_avx512_layer_creator}, #else {GroupNorm_final_avx512_layer_creator}, #endif #if NCNN_STRING {"LayerNorm", LayerNorm_final_avx512_layer_creator}, #else {LayerNorm_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Softplus", Softplus_final_layer_creator}, #else {Softplus_final_layer_creator}, #endif #if NCNN_STRING {"GRU", GRU_final_layer_creator}, #else {GRU_final_layer_creator}, #endif #if NCNN_STRING {"MultiHeadAttention", MultiHeadAttention_final_avx512_layer_creator}, #else {MultiHeadAttention_final_avx512_layer_creator}, #endif #if NCNN_STRING {"GELU", GELU_final_avx512_layer_creator}, #else {GELU_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Convolution1D", Convolution1D_final_avx512_layer_creator}, #else {Convolution1D_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Pooling1D", Pooling1D_final_layer_creator}, #else {Pooling1D_final_layer_creator}, #endif #if NCNN_STRING {"ConvolutionDepthWise1D", ConvolutionDepthWise1D_final_layer_creator}, #else {ConvolutionDepthWise1D_final_layer_creator}, #endif #if NCNN_STRING {"Convolution3D", Convolution3D_final_layer_creator}, #else {Convolution3D_final_layer_creator}, #endif #if NCNN_STRING {"ConvolutionDepthWise3D", ConvolutionDepthWise3D_final_layer_creator}, #else {ConvolutionDepthWise3D_final_layer_creator}, #endif #if NCNN_STRING {"Pooling3D", Pooling3D_final_layer_creator}, #else {Pooling3D_final_layer_creator}, #endif #if NCNN_STRING {"MatMul", MatMul_final_avx512_layer_creator}, #else {MatMul_final_avx512_layer_creator}, #endif #if NCNN_STRING {"Deconvolution1D", Deconvolution1D_final_layer_creator}, #else {Deconvolution1D_final_layer_creator}, #endif #if NCNN_STRING {"DeconvolutionDepthWise1D", DeconvolutionDepthWise1D_final_layer_creator}, #else {DeconvolutionDepthWise1D_final_layer_creator}, #endif #if NCNN_STRING {"Deconvolution3D", Deconvolution3D_final_layer_creator}, #else {Deconvolution3D_final_layer_creator}, #endif #if NCNN_STRING {"DeconvolutionDepthWise3D", DeconvolutionDepthWise3D_final_layer_creator}, #else {DeconvolutionDepthWise3D_final_layer_creator}, #endif #if NCNN_STRING {"Einsum", Einsum_final_layer_creator}, #else {Einsum_final_layer_creator}, #endif #if NCNN_STRING {"DeformableConv2D", DeformableConv2D_final_avx512_layer_creator}, #else {DeformableConv2D_final_avx512_layer_creator}, #endif #if NCNN_STRING {"GLU", GLU_final_layer_creator}, #else {GLU_final_layer_creator}, #endif #if NCNN_STRING {"Fold", Fold_final_layer_creator}, #else {Fold_final_layer_creator}, #endif #if NCNN_STRING {"Unfold", Unfold_final_layer_creator}, #else {Unfold_final_layer_creator}, #endif #if NCNN_STRING {"GridSample", GridSample_final_layer_creator}, #else {GridSample_final_layer_creator}, #endif #if NCNN_STRING {"CumulativeSum", CumulativeSum_final_layer_creator}, #else {CumulativeSum_final_layer_creator}, #endif #if NCNN_STRING {"CopyTo", CopyTo_final_layer_creator}, #else {CopyTo_final_layer_creator}, #endif #if NCNN_STRING {"Erf", Erf_final_layer_creator}, #else {Erf_final_layer_creator}, #endif #if NCNN_STRING {"Diag", Diag_final_layer_creator}, #else {Diag_final_layer_creator}, #endif #if NCNN_STRING {"CELU", CELU_final_layer_creator}, #else {CELU_final_layer_creator}, #endif }; #endif // NCNN_RUNTIME_CPU && NCNN_AVX512 #if NCNN_RUNTIME_CPU && NCNN_FMA static const layer_registry_entry layer_registry_fma[] = { #if NCNN_STRING {"AbsVal", AbsVal_final_layer_creator}, #else {AbsVal_final_layer_creator}, #endif #if NCNN_STRING {"ArgMax", 0}, #else {0}, #endif #if NCNN_STRING {"BatchNorm", BatchNorm_final_fma_layer_creator}, #else {BatchNorm_final_fma_layer_creator}, #endif #if NCNN_STRING {"Bias", Bias_final_fma_layer_creator}, #else {Bias_final_fma_layer_creator}, #endif #if NCNN_STRING {"BNLL", BNLL_final_fma_layer_creator}, #else {BNLL_final_fma_layer_creator}, #endif #if NCNN_STRING {"Concat", Concat_final_fma_layer_creator}, #else {Concat_final_fma_layer_creator}, #endif #if NCNN_STRING {"Convolution", Convolution_final_fma_layer_creator}, #else {Convolution_final_fma_layer_creator}, #endif #if NCNN_STRING {"Crop", Crop_final_fma_layer_creator}, #else {Crop_final_fma_layer_creator}, #endif #if NCNN_STRING {"Deconvolution", Deconvolution_final_fma_layer_creator}, #else {Deconvolution_final_fma_layer_creator}, #endif #if NCNN_STRING {"Dropout", Dropout_final_fma_layer_creator}, #else {Dropout_final_fma_layer_creator}, #endif #if NCNN_STRING {"Eltwise", Eltwise_final_fma_layer_creator}, #else {Eltwise_final_fma_layer_creator}, #endif #if NCNN_STRING {"ELU", ELU_final_fma_layer_creator}, #else {ELU_final_fma_layer_creator}, #endif #if NCNN_STRING {"Embed", Embed_final_layer_creator}, #else {Embed_final_layer_creator}, #endif #if NCNN_STRING {"Exp", Exp_final_layer_creator}, #else {Exp_final_layer_creator}, #endif #if NCNN_STRING {"Flatten", Flatten_final_fma_layer_creator}, #else {Flatten_final_fma_layer_creator}, #endif #if NCNN_STRING {"InnerProduct", InnerProduct_final_fma_layer_creator}, #else {InnerProduct_final_fma_layer_creator}, #endif #if NCNN_STRING {"Input", Input_final_layer_creator}, #else {Input_final_layer_creator}, #endif #if NCNN_STRING {"Log", Log_final_layer_creator}, #else {Log_final_layer_creator}, #endif #if NCNN_STRING {"LRN", LRN_final_fma_layer_creator}, #else {LRN_final_fma_layer_creator}, #endif #if NCNN_STRING {"MemoryData", MemoryData_final_layer_creator}, #else {MemoryData_final_layer_creator}, #endif #if NCNN_STRING {"MVN", MVN_final_layer_creator}, #else {MVN_final_layer_creator}, #endif #if NCNN_STRING {"Pooling", Pooling_final_fma_layer_creator}, #else {Pooling_final_fma_layer_creator}, #endif #if NCNN_STRING {"Power", Power_final_layer_creator}, #else {Power_final_layer_creator}, #endif #if NCNN_STRING {"PReLU", PReLU_final_fma_layer_creator}, #else {PReLU_final_fma_layer_creator}, #endif #if NCNN_STRING {"Proposal", Proposal_final_layer_creator}, #else {Proposal_final_layer_creator}, #endif #if NCNN_STRING {"Reduction", Reduction_final_layer_creator}, #else {Reduction_final_layer_creator}, #endif #if NCNN_STRING {"ReLU", ReLU_final_fma_layer_creator}, #else {ReLU_final_fma_layer_creator}, #endif #if NCNN_STRING {"Reshape", Reshape_final_fma_layer_creator}, #else {Reshape_final_fma_layer_creator}, #endif #if NCNN_STRING {"ROIPooling", ROIPooling_final_layer_creator}, #else {ROIPooling_final_layer_creator}, #endif #if NCNN_STRING {"Scale", Scale_final_fma_layer_creator}, #else {Scale_final_fma_layer_creator}, #endif #if NCNN_STRING {"Sigmoid", Sigmoid_final_fma_layer_creator}, #else {Sigmoid_final_fma_layer_creator}, #endif #if NCNN_STRING {"Slice", Slice_final_fma_layer_creator}, #else {Slice_final_fma_layer_creator}, #endif #if NCNN_STRING {"Softmax", Softmax_final_fma_layer_creator}, #else {Softmax_final_fma_layer_creator}, #endif #if NCNN_STRING {"Split", Split_final_layer_creator}, #else {Split_final_layer_creator}, #endif #if NCNN_STRING {"SPP", 0}, #else {0}, #endif #if NCNN_STRING {"TanH", TanH_final_fma_layer_creator}, #else {TanH_final_fma_layer_creator}, #endif #if NCNN_STRING {"Threshold", Threshold_final_layer_creator}, #else {Threshold_final_layer_creator}, #endif #if NCNN_STRING {"Tile", Tile_final_layer_creator}, #else {Tile_final_layer_creator}, #endif #if NCNN_STRING {"RNN", RNN_final_layer_creator}, #else {RNN_final_layer_creator}, #endif #if NCNN_STRING {"LSTM", LSTM_final_fma_layer_creator}, #else {LSTM_final_fma_layer_creator}, #endif #if NCNN_STRING {"BinaryOp", BinaryOp_final_fma_layer_creator}, #else {BinaryOp_final_fma_layer_creator}, #endif #if NCNN_STRING {"UnaryOp", UnaryOp_final_fma_layer_creator}, #else {UnaryOp_final_fma_layer_creator}, #endif #if NCNN_STRING {"ConvolutionDepthWise", ConvolutionDepthWise_final_fma_layer_creator}, #else {ConvolutionDepthWise_final_fma_layer_creator}, #endif #if NCNN_STRING {"Padding", Padding_final_fma_layer_creator}, #else {Padding_final_fma_layer_creator}, #endif #if NCNN_STRING {"Squeeze", Squeeze_final_layer_creator}, #else {Squeeze_final_layer_creator}, #endif #if NCNN_STRING {"ExpandDims", ExpandDims_final_layer_creator}, #else {ExpandDims_final_layer_creator}, #endif #if NCNN_STRING {"Normalize", Normalize_final_layer_creator}, #else {Normalize_final_layer_creator}, #endif #if NCNN_STRING {"Permute", Permute_final_layer_creator}, #else {Permute_final_layer_creator}, #endif #if NCNN_STRING {"PriorBox", PriorBox_final_layer_creator}, #else {PriorBox_final_layer_creator}, #endif #if NCNN_STRING {"DetectionOutput", DetectionOutput_final_layer_creator}, #else {DetectionOutput_final_layer_creator}, #endif #if NCNN_STRING {"Interp", Interp_final_fma_layer_creator}, #else {Interp_final_fma_layer_creator}, #endif #if NCNN_STRING {"DeconvolutionDepthWise", DeconvolutionDepthWise_final_fma_layer_creator}, #else {DeconvolutionDepthWise_final_fma_layer_creator}, #endif #if NCNN_STRING {"ShuffleChannel", ShuffleChannel_final_layer_creator}, #else {ShuffleChannel_final_layer_creator}, #endif #if NCNN_STRING {"InstanceNorm", InstanceNorm_final_layer_creator}, #else {InstanceNorm_final_layer_creator}, #endif #if NCNN_STRING {"Clip", Clip_final_fma_layer_creator}, #else {Clip_final_fma_layer_creator}, #endif #if NCNN_STRING {"Reorg", Reorg_final_layer_creator}, #else {Reorg_final_layer_creator}, #endif #if NCNN_STRING {"YoloDetectionOutput", YoloDetectionOutput_final_layer_creator}, #else {YoloDetectionOutput_final_layer_creator}, #endif #if NCNN_STRING {"Quantize", Quantize_final_fma_layer_creator}, #else {Quantize_final_fma_layer_creator}, #endif #if NCNN_STRING {"Dequantize", Dequantize_final_fma_layer_creator}, #else {Dequantize_final_fma_layer_creator}, #endif #if NCNN_STRING {"Yolov3DetectionOutput", Yolov3DetectionOutput_final_fma_layer_creator}, #else {Yolov3DetectionOutput_final_fma_layer_creator}, #endif #if NCNN_STRING {"PSROIPooling", PSROIPooling_final_layer_creator}, #else {PSROIPooling_final_layer_creator}, #endif #if NCNN_STRING {"ROIAlign", ROIAlign_final_fma_layer_creator}, #else {ROIAlign_final_fma_layer_creator}, #endif #if NCNN_STRING {"Packing", Packing_final_fma_layer_creator}, #else {Packing_final_fma_layer_creator}, #endif #if NCNN_STRING {"Requantize", Requantize_final_fma_layer_creator}, #else {Requantize_final_fma_layer_creator}, #endif #if NCNN_STRING {"Cast", Cast_final_fma_layer_creator}, #else {Cast_final_fma_layer_creator}, #endif #if NCNN_STRING {"HardSigmoid", HardSigmoid_final_fma_layer_creator}, #else {HardSigmoid_final_fma_layer_creator}, #endif #if NCNN_STRING {"SELU", SELU_final_layer_creator}, #else {SELU_final_layer_creator}, #endif #if NCNN_STRING {"HardSwish", HardSwish_final_fma_layer_creator}, #else {HardSwish_final_fma_layer_creator}, #endif #if NCNN_STRING {"Noop", Noop_final_layer_creator}, #else {Noop_final_layer_creator}, #endif #if NCNN_STRING {"PixelShuffle", PixelShuffle_final_layer_creator}, #else {PixelShuffle_final_layer_creator}, #endif #if NCNN_STRING {"DeepCopy", DeepCopy_final_layer_creator}, #else {DeepCopy_final_layer_creator}, #endif #if NCNN_STRING {"Mish", Mish_final_fma_layer_creator}, #else {Mish_final_fma_layer_creator}, #endif #if NCNN_STRING {"StatisticsPooling", StatisticsPooling_final_layer_creator}, #else {StatisticsPooling_final_layer_creator}, #endif #if NCNN_STRING {"Swish", Swish_final_fma_layer_creator}, #else {Swish_final_fma_layer_creator}, #endif #if NCNN_STRING {"Gemm", Gemm_final_fma_layer_creator}, #else {Gemm_final_fma_layer_creator}, #endif #if NCNN_STRING {"GroupNorm", GroupNorm_final_fma_layer_creator}, #else {GroupNorm_final_fma_layer_creator}, #endif #if NCNN_STRING {"LayerNorm", LayerNorm_final_fma_layer_creator}, #else {LayerNorm_final_fma_layer_creator}, #endif #if NCNN_STRING {"Softplus", Softplus_final_layer_creator}, #else {Softplus_final_layer_creator}, #endif #if NCNN_STRING {"GRU", GRU_final_layer_creator}, #else {GRU_final_layer_creator}, #endif #if NCNN_STRING {"MultiHeadAttention", MultiHeadAttention_final_fma_layer_creator}, #else {MultiHeadAttention_final_fma_layer_creator}, #endif #if NCNN_STRING {"GELU", GELU_final_fma_layer_creator}, #else {GELU_final_fma_layer_creator}, #endif #if NCNN_STRING {"Convolution1D", Convolution1D_final_fma_layer_creator}, #else {Convolution1D_final_fma_layer_creator}, #endif #if NCNN_STRING {"Pooling1D", Pooling1D_final_layer_creator}, #else {Pooling1D_final_layer_creator}, #endif #if NCNN_STRING {"ConvolutionDepthWise1D", ConvolutionDepthWise1D_final_layer_creator}, #else {ConvolutionDepthWise1D_final_layer_creator}, #endif #if NCNN_STRING {"Convolution3D", Convolution3D_final_layer_creator}, #else {Convolution3D_final_layer_creator}, #endif #if NCNN_STRING {"ConvolutionDepthWise3D", ConvolutionDepthWise3D_final_layer_creator}, #else {ConvolutionDepthWise3D_final_layer_creator}, #endif #if NCNN_STRING {"Pooling3D", Pooling3D_final_layer_creator}, #else {Pooling3D_final_layer_creator}, #endif #if NCNN_STRING {"MatMul", MatMul_final_fma_layer_creator}, #else {MatMul_final_fma_layer_creator}, #endif #if NCNN_STRING {"Deconvolution1D", Deconvolution1D_final_layer_creator}, #else {Deconvolution1D_final_layer_creator}, #endif #if NCNN_STRING {"DeconvolutionDepthWise1D", DeconvolutionDepthWise1D_final_layer_creator}, #else {DeconvolutionDepthWise1D_final_layer_creator}, #endif #if NCNN_STRING {"Deconvolution3D", Deconvolution3D_final_layer_creator}, #else {Deconvolution3D_final_layer_creator}, #endif #if NCNN_STRING {"DeconvolutionDepthWise3D", DeconvolutionDepthWise3D_final_layer_creator}, #else {DeconvolutionDepthWise3D_final_layer_creator}, #endif #if NCNN_STRING {"Einsum", Einsum_final_layer_creator}, #else {Einsum_final_layer_creator}, #endif #if NCNN_STRING {"DeformableConv2D", DeformableConv2D_final_fma_layer_creator}, #else {DeformableConv2D_final_fma_layer_creator}, #endif #if NCNN_STRING {"GLU", GLU_final_layer_creator}, #else {GLU_final_layer_creator}, #endif #if NCNN_STRING {"Fold", Fold_final_layer_creator}, #else {Fold_final_layer_creator}, #endif #if NCNN_STRING {"Unfold", Unfold_final_layer_creator}, #else {Unfold_final_layer_creator}, #endif #if NCNN_STRING {"GridSample", GridSample_final_layer_creator}, #else {GridSample_final_layer_creator}, #endif #if NCNN_STRING {"CumulativeSum", CumulativeSum_final_layer_creator}, #else {CumulativeSum_final_layer_creator}, #endif #if NCNN_STRING {"CopyTo", CopyTo_final_layer_creator}, #else {CopyTo_final_layer_creator}, #endif #if NCNN_STRING {"Erf", Erf_final_layer_creator}, #else {Erf_final_layer_creator}, #endif #if NCNN_STRING {"Diag", Diag_final_layer_creator}, #else {Diag_final_layer_creator}, #endif #if NCNN_STRING {"CELU", CELU_final_layer_creator}, #else {CELU_final_layer_creator}, #endif }; #endif // NCNN_RUNTIME_CPU && NCNN_FMA #if NCNN_RUNTIME_CPU && NCNN_AVX static const layer_registry_entry layer_registry_avx[] = { #if NCNN_STRING {"AbsVal", AbsVal_final_layer_creator}, #else {AbsVal_final_layer_creator}, #endif #if NCNN_STRING {"ArgMax", 0}, #else {0}, #endif #if NCNN_STRING {"BatchNorm", BatchNorm_final_avx_layer_creator}, #else {BatchNorm_final_avx_layer_creator}, #endif #if NCNN_STRING {"Bias", Bias_final_avx_layer_creator}, #else {Bias_final_avx_layer_creator}, #endif #if NCNN_STRING {"BNLL", BNLL_final_avx_layer_creator}, #else {BNLL_final_avx_layer_creator}, #endif #if NCNN_STRING {"Concat", Concat_final_avx_layer_creator}, #else {Concat_final_avx_layer_creator}, #endif #if NCNN_STRING {"Convolution", Convolution_final_avx_layer_creator}, #else {Convolution_final_avx_layer_creator}, #endif #if NCNN_STRING {"Crop", Crop_final_avx_layer_creator}, #else {Crop_final_avx_layer_creator}, #endif #if NCNN_STRING {"Deconvolution", Deconvolution_final_avx_layer_creator}, #else {Deconvolution_final_avx_layer_creator}, #endif #if NCNN_STRING {"Dropout", Dropout_final_avx_layer_creator}, #else {Dropout_final_avx_layer_creator}, #endif #if NCNN_STRING {"Eltwise", Eltwise_final_avx_layer_creator}, #else {Eltwise_final_avx_layer_creator}, #endif #if NCNN_STRING {"ELU", ELU_final_avx_layer_creator}, #else {ELU_final_avx_layer_creator}, #endif #if NCNN_STRING {"Embed", Embed_final_layer_creator}, #else {Embed_final_layer_creator}, #endif #if NCNN_STRING {"Exp", Exp_final_layer_creator}, #else {Exp_final_layer_creator}, #endif #if NCNN_STRING {"Flatten", Flatten_final_avx_layer_creator}, #else {Flatten_final_avx_layer_creator}, #endif #if NCNN_STRING {"InnerProduct", InnerProduct_final_avx_layer_creator}, #else {InnerProduct_final_avx_layer_creator}, #endif #if NCNN_STRING {"Input", Input_final_layer_creator}, #else {Input_final_layer_creator}, #endif #if NCNN_STRING {"Log", Log_final_layer_creator}, #else {Log_final_layer_creator}, #endif #if NCNN_STRING {"LRN", LRN_final_avx_layer_creator}, #else {LRN_final_avx_layer_creator}, #endif #if NCNN_STRING {"MemoryData", MemoryData_final_layer_creator}, #else {MemoryData_final_layer_creator}, #endif #if NCNN_STRING {"MVN", MVN_final_layer_creator}, #else {MVN_final_layer_creator}, #endif #if NCNN_STRING {"Pooling", Pooling_final_avx_layer_creator}, #else {Pooling_final_avx_layer_creator}, #endif #if NCNN_STRING {"Power", Power_final_layer_creator}, #else {Power_final_layer_creator}, #endif #if NCNN_STRING {"PReLU", PReLU_final_avx_layer_creator}, #else {PReLU_final_avx_layer_creator}, #endif #if NCNN_STRING {"Proposal", Proposal_final_layer_creator}, #else {Proposal_final_layer_creator}, #endif #if NCNN_STRING {"Reduction", Reduction_final_layer_creator}, #else {Reduction_final_layer_creator}, #endif #if NCNN_STRING {"ReLU", ReLU_final_avx_layer_creator}, #else {ReLU_final_avx_layer_creator}, #endif #if NCNN_STRING {"Reshape", Reshape_final_avx_layer_creator}, #else {Reshape_final_avx_layer_creator}, #endif #if NCNN_STRING {"ROIPooling", ROIPooling_final_layer_creator}, #else {ROIPooling_final_layer_creator}, #endif #if NCNN_STRING {"Scale", Scale_final_avx_layer_creator}, #else {Scale_final_avx_layer_creator}, #endif #if NCNN_STRING {"Sigmoid", Sigmoid_final_avx_layer_creator}, #else {Sigmoid_final_avx_layer_creator}, #endif #if NCNN_STRING {"Slice", Slice_final_avx_layer_creator}, #else {Slice_final_avx_layer_creator}, #endif #if NCNN_STRING {"Softmax", Softmax_final_avx_layer_creator}, #else {Softmax_final_avx_layer_creator}, #endif #if NCNN_STRING {"Split", Split_final_layer_creator}, #else {Split_final_layer_creator}, #endif #if NCNN_STRING {"SPP", 0}, #else {0}, #endif #if NCNN_STRING {"TanH", TanH_final_avx_layer_creator}, #else {TanH_final_avx_layer_creator}, #endif #if NCNN_STRING {"Threshold", Threshold_final_layer_creator}, #else {Threshold_final_layer_creator}, #endif #if NCNN_STRING {"Tile", Tile_final_layer_creator}, #else {Tile_final_layer_creator}, #endif #if NCNN_STRING {"RNN", RNN_final_layer_creator}, #else {RNN_final_layer_creator}, #endif #if NCNN_STRING {"LSTM", LSTM_final_avx_layer_creator}, #else {LSTM_final_avx_layer_creator}, #endif #if NCNN_STRING {"BinaryOp", BinaryOp_final_avx_layer_creator}, #else {BinaryOp_final_avx_layer_creator}, #endif #if NCNN_STRING {"UnaryOp", UnaryOp_final_avx_layer_creator}, #else {UnaryOp_final_avx_layer_creator}, #endif #if NCNN_STRING {"ConvolutionDepthWise", ConvolutionDepthWise_final_avx_layer_creator}, #else {ConvolutionDepthWise_final_avx_layer_creator}, #endif #if NCNN_STRING {"Padding", Padding_final_avx_layer_creator}, #else {Padding_final_avx_layer_creator}, #endif #if NCNN_STRING {"Squeeze", Squeeze_final_layer_creator}, #else {Squeeze_final_layer_creator}, #endif #if NCNN_STRING {"ExpandDims", ExpandDims_final_layer_creator}, #else {ExpandDims_final_layer_creator}, #endif #if NCNN_STRING {"Normalize", Normalize_final_layer_creator}, #else {Normalize_final_layer_creator}, #endif #if NCNN_STRING {"Permute", Permute_final_layer_creator}, #else {Permute_final_layer_creator}, #endif #if NCNN_STRING {"PriorBox", PriorBox_final_layer_creator}, #else {PriorBox_final_layer_creator}, #endif #if NCNN_STRING {"DetectionOutput", DetectionOutput_final_layer_creator}, #else {DetectionOutput_final_layer_creator}, #endif #if NCNN_STRING {"Interp", Interp_final_avx_layer_creator}, #else {Interp_final_avx_layer_creator}, #endif #if NCNN_STRING {"DeconvolutionDepthWise", DeconvolutionDepthWise_final_avx_layer_creator}, #else {DeconvolutionDepthWise_final_avx_layer_creator}, #endif #if NCNN_STRING {"ShuffleChannel", ShuffleChannel_final_layer_creator}, #else {ShuffleChannel_final_layer_creator}, #endif #if NCNN_STRING {"InstanceNorm", InstanceNorm_final_layer_creator}, #else {InstanceNorm_final_layer_creator}, #endif #if NCNN_STRING {"Clip", Clip_final_avx_layer_creator}, #else {Clip_final_avx_layer_creator}, #endif #if NCNN_STRING {"Reorg", Reorg_final_layer_creator}, #else {Reorg_final_layer_creator}, #endif #if NCNN_STRING {"YoloDetectionOutput", YoloDetectionOutput_final_layer_creator}, #else {YoloDetectionOutput_final_layer_creator}, #endif #if NCNN_STRING {"Quantize", Quantize_final_avx_layer_creator}, #else {Quantize_final_avx_layer_creator}, #endif #if NCNN_STRING {"Dequantize", Dequantize_final_avx_layer_creator}, #else {Dequantize_final_avx_layer_creator}, #endif #if NCNN_STRING {"Yolov3DetectionOutput", Yolov3DetectionOutput_final_avx_layer_creator}, #else {Yolov3DetectionOutput_final_avx_layer_creator}, #endif #if NCNN_STRING {"PSROIPooling", PSROIPooling_final_layer_creator}, #else {PSROIPooling_final_layer_creator}, #endif #if NCNN_STRING {"ROIAlign", ROIAlign_final_avx_layer_creator}, #else {ROIAlign_final_avx_layer_creator}, #endif #if NCNN_STRING {"Packing", Packing_final_avx_layer_creator}, #else {Packing_final_avx_layer_creator}, #endif #if NCNN_STRING {"Requantize", Requantize_final_avx_layer_creator}, #else {Requantize_final_avx_layer_creator}, #endif #if NCNN_STRING {"Cast", Cast_final_avx_layer_creator}, #else {Cast_final_avx_layer_creator}, #endif #if NCNN_STRING {"HardSigmoid", HardSigmoid_final_avx_layer_creator}, #else {HardSigmoid_final_avx_layer_creator}, #endif #if NCNN_STRING {"SELU", SELU_final_layer_creator}, #else {SELU_final_layer_creator}, #endif #if NCNN_STRING {"HardSwish", HardSwish_final_avx_layer_creator}, #else {HardSwish_final_avx_layer_creator}, #endif #if NCNN_STRING {"Noop", Noop_final_layer_creator}, #else {Noop_final_layer_creator}, #endif #if NCNN_STRING {"PixelShuffle", PixelShuffle_final_layer_creator}, #else {PixelShuffle_final_layer_creator}, #endif #if NCNN_STRING {"DeepCopy", DeepCopy_final_layer_creator}, #else {DeepCopy_final_layer_creator}, #endif #if NCNN_STRING {"Mish", Mish_final_avx_layer_creator}, #else {Mish_final_avx_layer_creator}, #endif #if NCNN_STRING {"StatisticsPooling", StatisticsPooling_final_layer_creator}, #else {StatisticsPooling_final_layer_creator}, #endif #if NCNN_STRING {"Swish", Swish_final_avx_layer_creator}, #else {Swish_final_avx_layer_creator}, #endif #if NCNN_STRING {"Gemm", Gemm_final_avx_layer_creator}, #else {Gemm_final_avx_layer_creator}, #endif #if NCNN_STRING {"GroupNorm", GroupNorm_final_avx_layer_creator}, #else {GroupNorm_final_avx_layer_creator}, #endif #if NCNN_STRING {"LayerNorm", LayerNorm_final_avx_layer_creator}, #else {LayerNorm_final_avx_layer_creator}, #endif #if NCNN_STRING {"Softplus", Softplus_final_layer_creator}, #else {Softplus_final_layer_creator}, #endif #if NCNN_STRING {"GRU", GRU_final_layer_creator}, #else {GRU_final_layer_creator}, #endif #if NCNN_STRING {"MultiHeadAttention", MultiHeadAttention_final_avx_layer_creator}, #else {MultiHeadAttention_final_avx_layer_creator}, #endif #if NCNN_STRING {"GELU", GELU_final_avx_layer_creator}, #else {GELU_final_avx_layer_creator}, #endif #if NCNN_STRING {"Convolution1D", Convolution1D_final_avx_layer_creator}, #else {Convolution1D_final_avx_layer_creator}, #endif #if NCNN_STRING {"Pooling1D", Pooling1D_final_layer_creator}, #else {Pooling1D_final_layer_creator}, #endif #if NCNN_STRING {"ConvolutionDepthWise1D", ConvolutionDepthWise1D_final_layer_creator}, #else {ConvolutionDepthWise1D_final_layer_creator}, #endif #if NCNN_STRING {"Convolution3D", Convolution3D_final_layer_creator}, #else {Convolution3D_final_layer_creator}, #endif #if NCNN_STRING {"ConvolutionDepthWise3D", ConvolutionDepthWise3D_final_layer_creator}, #else {ConvolutionDepthWise3D_final_layer_creator}, #endif #if NCNN_STRING {"Pooling3D", Pooling3D_final_layer_creator}, #else {Pooling3D_final_layer_creator}, #endif #if NCNN_STRING {"MatMul", MatMul_final_avx_layer_creator}, #else {MatMul_final_avx_layer_creator}, #endif #if NCNN_STRING {"Deconvolution1D", Deconvolution1D_final_layer_creator}, #else {Deconvolution1D_final_layer_creator}, #endif #if NCNN_STRING {"DeconvolutionDepthWise1D", DeconvolutionDepthWise1D_final_layer_creator}, #else {DeconvolutionDepthWise1D_final_layer_creator}, #endif #if NCNN_STRING {"Deconvolution3D", Deconvolution3D_final_layer_creator}, #else {Deconvolution3D_final_layer_creator}, #endif #if NCNN_STRING {"DeconvolutionDepthWise3D", DeconvolutionDepthWise3D_final_layer_creator}, #else {DeconvolutionDepthWise3D_final_layer_creator}, #endif #if NCNN_STRING {"Einsum", Einsum_final_layer_creator}, #else {Einsum_final_layer_creator}, #endif #if NCNN_STRING {"DeformableConv2D", DeformableConv2D_final_avx_layer_creator}, #else {DeformableConv2D_final_avx_layer_creator}, #endif #if NCNN_STRING {"GLU", GLU_final_layer_creator}, #else {GLU_final_layer_creator}, #endif #if NCNN_STRING {"Fold", Fold_final_layer_creator}, #else {Fold_final_layer_creator}, #endif #if NCNN_STRING {"Unfold", Unfold_final_layer_creator}, #else {Unfold_final_layer_creator}, #endif #if NCNN_STRING {"GridSample", GridSample_final_layer_creator}, #else {GridSample_final_layer_creator}, #endif #if NCNN_STRING {"CumulativeSum", CumulativeSum_final_layer_creator}, #else {CumulativeSum_final_layer_creator}, #endif #if NCNN_STRING {"CopyTo", CopyTo_final_layer_creator}, #else {CopyTo_final_layer_creator}, #endif #if NCNN_STRING {"Erf", Erf_final_layer_creator}, #else {Erf_final_layer_creator}, #endif #if NCNN_STRING {"Diag", Diag_final_layer_creator}, #else {Diag_final_layer_creator}, #endif #if NCNN_STRING {"CELU", CELU_final_layer_creator}, #else {CELU_final_layer_creator}, #endif }; #endif // NCNN_RUNTIME_CPU && NCNN_AVX #if NCNN_RUNTIME_CPU && NCNN_MSA static const layer_registry_entry layer_registry_msa[] = { }; #endif // NCNN_RUNTIME_CPU && NCNN_MSA #if NCNN_RUNTIME_CPU && NCNN_LASX static const layer_registry_entry layer_registry_lasx[] = { }; #endif // NCNN_RUNTIME_CPU && NCNN_LASX #if NCNN_RUNTIME_CPU && NCNN_LSX static const layer_registry_entry layer_registry_lsx[] = { }; #endif // NCNN_RUNTIME_CPU && NCNN_LSX #if NCNN_RUNTIME_CPU && NCNN_RVV static const layer_registry_entry layer_registry_rvv[] = { }; #endif // NCNN_RUNTIME_CPU && NCNN_RVV