Snapdragon Neural Processing Engine SDK
Reference Guide
Supported ONNX Ops

Operator Support

snpe-onnx-to-dlc currently supports the following operators and parameters:

OperatorOpset Version SupportedNotes
Add1,6(1). Add with a constant input is supported only immediately following an operation which includes a bias-add.
AveragePool1(2)
BatchNormalization1,6,7Neither momentum nor training mode are supported. All inputs after the first must be static. Only the first output is generated.
Clip1-
Concat1,4-
Constant1Constant ops are interpreted at conversion time when used to represent weights/biases. Otherwise they are left in the network as inputs to later ops.
Conv1(2). Weight and bias inputs must be static. "kernel_shape" which differs from that of weights is not supported.
ConvTranspse1(2). Weight and bias inputs must be static. "strides" must be the same for each axis.
Dropout1Only test mode (i.e. noop) is supported. Mask output is not generated.
Elu1,6-
Flatten1-
Gemm1Gemm is only supported in the case where it is used to emulate FC; transA=0, transB=1, broadcast=1.
GlobalAveragePool1-
GlobalMaxPool1-
GRU1, 7- Custom activations, user-defined activations, clip and linear_before_reset=1 are not supported.
InstanceNormalization1-Inputs after the first must be static.
LRN1-
LeakyRelu1-
LSTM7- Custom activations, user-defined activations, clip and input-forget parameters are not supported.
Matmul1Matmul is only supported when used to interpret an FC layer. The second input must be a set of weights.
Max1,6,8-
MaxPool1(2)
Mul1(1) Mul with a constant input is supported only immediately following BatchNormalization operations.
Pad1,2Only constant padding is supported.
PRelu1,6,7Slope must be static.
Relu1-
Reshape1,5-
RNN1, 7- Custom and user-defined activations (activation_alpha and beta) are not supported.
Shape1Shape is only supported at conversion time. The input to Shape and all operators which manipulate the resulting output shape (eg slice, concat, etc) are also computed at conversion time.
Sigmoid1-
Slice1-
Softmax1Inputs with rank greater than 2 are not supported, and will not be coerced to 2D.
Split2-
Squeeze1-
Sum1,6,7-
Tanh1-
Transpose1-
Unsqueeze1-
Upsample7Only bilinear and nearest neighbor modes are supported.
FC1Both "axis" and "axis_w" must be 1.
ScaledTanh1-
ThresholdRelu1-

(1) Broadcast is not supported in the general case.

(2) "auto_pad" value of SAME_UPPER is not supported. Asymmetric "pads" with "xi_begin" values other than 0 are not supported.