| | |
| | |
| | |
| |
|
| | 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 |
| | #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 |
| | #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 |
| |
|
| | #if NCNN_RUNTIME_CPU && NCNN_MSA |
| | static const layer_registry_entry layer_registry_msa[] = { |
| |
|
| | }; |
| | #endif |
| |
|
| | #if NCNN_RUNTIME_CPU && NCNN_LASX |
| | static const layer_registry_entry layer_registry_lasx[] = { |
| |
|
| | }; |
| | #endif |
| |
|
| | #if NCNN_RUNTIME_CPU && NCNN_LSX |
| | static const layer_registry_entry layer_registry_lsx[] = { |
| |
|
| | }; |
| | #endif |
| |
|
| | #if NCNN_RUNTIME_CPU && NCNN_RVV |
| | static const layer_registry_entry layer_registry_rvv[] = { |
| |
|
| | }; |
| | #endif |
| |
|