|
@@ -31,6 +31,117 @@ function(download_ncnn)
|
|
set(NCNN_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
|
set(NCNN_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
|
set(NCNN_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
|
set(NCNN_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
|
|
|
|
|
|
|
+ # For RNN-T with ScaledLSTM, the following operators are not sued,
|
|
|
|
+ # so we keep them from compiling.
|
|
|
|
+ #
|
|
|
|
+ # CAUTION: If you switch to a different model, please change
|
|
|
|
+ # the following disabled layers accordingly; otherwise, you
|
|
|
|
+ # will get segmentation fault during runtime.
|
|
|
|
+ set(disabled_layers
|
|
|
|
+ AbsVal
|
|
|
|
+ ArgMax
|
|
|
|
+ BatchNorm
|
|
|
|
+ Bias
|
|
|
|
+ BNLL
|
|
|
|
+ # Concat
|
|
|
|
+ # Convolution
|
|
|
|
+ # Crop
|
|
|
|
+ Deconvolution
|
|
|
|
+ # Dropout
|
|
|
|
+ Eltwise
|
|
|
|
+ ELU
|
|
|
|
+ # Embed
|
|
|
|
+ Exp
|
|
|
|
+ # Flatten # needed by innerproduct
|
|
|
|
+ # InnerProduct
|
|
|
|
+ # Input
|
|
|
|
+ Log
|
|
|
|
+ LRN
|
|
|
|
+ MemoryData
|
|
|
|
+ MVN
|
|
|
|
+ Pooling
|
|
|
|
+ Power
|
|
|
|
+ PReLU
|
|
|
|
+ Proposal
|
|
|
|
+ # Reduction
|
|
|
|
+ # ReLU
|
|
|
|
+ # Reshape
|
|
|
|
+ ROIPooling
|
|
|
|
+ Scale
|
|
|
|
+ # Sigmoid
|
|
|
|
+ Slice
|
|
|
|
+ Softmax
|
|
|
|
+ # Split
|
|
|
|
+ SPP
|
|
|
|
+ # TanH
|
|
|
|
+ Threshold
|
|
|
|
+ Tile
|
|
|
|
+ RNN
|
|
|
|
+ LSTM
|
|
|
|
+ # BinaryOp
|
|
|
|
+ # UnaryOp
|
|
|
|
+ ConvolutionDepthWise
|
|
|
|
+ # Padding # required by innerproduct and convolution
|
|
|
|
+ Squeeze
|
|
|
|
+ # ExpandDims
|
|
|
|
+ Normalize
|
|
|
|
+ # Permute
|
|
|
|
+ PriorBox
|
|
|
|
+ DetectionOutput
|
|
|
|
+ Interp
|
|
|
|
+ DeconvolutionDepthWise
|
|
|
|
+ ShuffleChannel
|
|
|
|
+ InstanceNorm
|
|
|
|
+ Clip
|
|
|
|
+ Reorg
|
|
|
|
+ YoloDetectionOutput
|
|
|
|
+ Quantize
|
|
|
|
+ Dequantize
|
|
|
|
+ Yolov3DetectionOutput
|
|
|
|
+ PSROIPooling
|
|
|
|
+ ROIAlign
|
|
|
|
+ Packing
|
|
|
|
+ Requantize
|
|
|
|
+ # Cast # needed InnerProduct
|
|
|
|
+ HardSigmoid
|
|
|
|
+ SELU
|
|
|
|
+ HardSwish
|
|
|
|
+ Noop
|
|
|
|
+ PixelShuffle
|
|
|
|
+ DeepCopy
|
|
|
|
+ Mish
|
|
|
|
+ StatisticsPooling
|
|
|
|
+ Swish
|
|
|
|
+ Gemm
|
|
|
|
+ GroupNorm
|
|
|
|
+ LayerNorm
|
|
|
|
+ Softplus
|
|
|
|
+ GRU
|
|
|
|
+ MultiHeadAttention
|
|
|
|
+ GELU
|
|
|
|
+ Convolution1D
|
|
|
|
+ Pooling1D
|
|
|
|
+ # ConvolutionDepthWise1D
|
|
|
|
+ Convolution3D
|
|
|
|
+ ConvolutionDepthWise3D
|
|
|
|
+ Pooling3D
|
|
|
|
+ MatMul
|
|
|
|
+ Deconvolution1D
|
|
|
|
+ DeconvolutionDepthWise1D
|
|
|
|
+ Deconvolution3D
|
|
|
|
+ DeconvolutionDepthWise3D
|
|
|
|
+ Einsum
|
|
|
|
+ DeformableConv2D
|
|
|
|
+ RelPositionalEncoding
|
|
|
|
+ MakePadMask
|
|
|
|
+ RelShift
|
|
|
|
+ GLU
|
|
|
|
+ )
|
|
|
|
+ foreach(layer IN LISTS disabled_layers)
|
|
|
|
+ string(TOLOWER ${layer} name)
|
|
|
|
+ set(WITH_LAYER_${name} OFF CACHE BOOL "" FORCE)
|
|
|
|
+ endforeach()
|
|
|
|
+
|
|
FetchContent_GetProperties(ncnn)
|
|
FetchContent_GetProperties(ncnn)
|
|
if(NOT ncnn_POPULATED)
|
|
if(NOT ncnn_POPULATED)
|
|
message(STATUS "Downloading ncnn")
|
|
message(STATUS "Downloading ncnn")
|