ncnn / build /src /layer_registry.h
camenduru's picture
thanks to ncnn ❤
be903e2
// 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