|
|
|
|
|
|
|
|
|
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 |
|
|