2. NPU Operators support list(AX620E)
This section introduces the NPU supports for the ONNX
operator in AX630C
AX620Q
.
Supported ONNX opset_version >= 11. For detailed operator description, please refer to onnx Operators.
Some of the supported operators do not have standard ONNX definitions yet. If such operators are included in the model, please consult technical support.
Note
“Not supported yet”: Indicates that the current version of the operator implementation does not support it, but the NPU can theoretically support it, and subsequent versions may support it.“Unlimited”: Indicates that the current operator implementation can support it. Since the test may not necessarily cover the entire parameter space, if something unexpected happens, you can give us feedback and we will treat it as a BUG and fix it as soon as possible.“Not supported”: Indicates that the implementation of this attribute cannot be supported.
Operators |
Attrs limitation |
---|---|
Abs |
Unlimited |
Add |
Unlimited |
ArgMax |
axis: Unlimited
keepdims: Unlimited
select_last_index: Only supports
setting to 0
|
ArgMin |
axis: Unlimited
keepdims: Unlimited
select_last_index: Only supports
setting to 0
|
AveragePool |
auto_pad: Only supports NOTSET
ceil_mode: Unlimited
count_include_pad: Only supports
setting to 1
kernel_shape: Unlimited
pads: Unlimited
strides: Unlimited
|
BatchNormalization |
epsilon: Unlimited
momentum: Not supported
training_mode: Not supported
|
Cast |
to: uint8/int8/uint16/int16/uint32/int32/float32 |
Ceil |
Unlimited |
Clip |
min: Unlimited
max: Unlimited
|
Concat |
axis: Unlimited |
Constant |
Unlimited |
ConstantOfShape |
Unlimited |
Conv |
auto_pad: Only supports NOTSET
dilations: Unlimited
group: Unlimited
kernel_shape: Unlimited
pads: Unlimited
strides: Unlimited
note: The efficiency would be lower when
using DepthWise/Group Conv and dilation
not equals to 1
|
ConvTranspose |
auto_pad: Only supports NOTSET
dilations: currently only setting to 1
group: Unlimited
kernel_shape: Unlimited
output_shape: Not supported yet
pads: Unlimited
strides: Unlimited
note: The efficiency would be lower in
DepthWise ConvTranspose.
output_padding: output_padding_h <= pads_bottom, output_padding_w <= pads_right |
DepthToSpace |
blocksize: Unlimited
mode: currently Only supports DCR
|
Div |
Unlimited |
Elu |
Unlimited |
Equal |
Unlimited |
Erf |
Unlimited |
Exp |
Unlimited |
Expand |
Unlimited |
Flatten |
Unlimited |
Gather |
axis: Unlimited
indices: currently Only supports 1
dimension
|
Gelu |
Unlimited |
Gemm |
alpha: Not supported yet
beta: Not supported yet
transA: Unlimited
transB: Unlimited
|
GlobalAveragePool |
Unlimited |
GlobalMaxPool |
Unlimited |
Greater |
Unlimited |
GreaterOrEqual |
Unlimited |
GridSample |
Unlimited |
HardSigmoid |
Unlimited |
HardSwish |
Unlimited |
Identity |
Unlimited |
InstanceNormalization |
epsilon:Unlimited |
LayerNormalization |
axis Only supports -1 (i.e. the last dimension) |
Less |
Unlimited |
LessOrEqual |
Unlimited |
LpNormalization |
axis currently Only supports -1
(i.e. the last dimension)
p only supports 1 or 2
|
LSTM |
activation_alpha: Not supported yet
activation_beta: Not supported yet
activations: Not supported yet
clip: Not supported yet
hidden_size: Unlimited
input_forget: Not supported yet
layout: Only supports setting to 0
B: Unlimited
sequence_lens: Not supported
initial_h: Unlimited
initial_c: Unlimited
P: Not supported yet
direction: Supports “bidirectional”,”reverse”,”forward” |
LeakyRelu |
Unlimited |
MatMul |
Unlimited |
Max |
Unlimited |
Min |
Unlimited |
Mish |
Unlimited |
MaxPool |
auto_pad: Only supports setting to NOTSET
ceil_mode: Unlimited
dilations: Only supports 为1
kernel_shape: Unlimited
pads: Unlimited
storage_order: Only supports setting to 0
strides: Unlimited
|
Mul |
Unlimited |
PRelu |
|
Pad |
pads: Unlimited
constant_value: Unlimited
mode: Only supports constant
axes: Not supported yet
|
Pow |
not suppors elemwise’s calculation, exponent only supports initializer form and is a scalar。 |
ReduceL2 |
axes: Unlimited
keepdims: Unlimited
noop_with_empty_axes: This parameter
is not supported yet
|
ReduceMax |
axes: Unlimited
keepdims: Unlimited
noop_with_empty_axes: This parameter
is not supported yet
|
ReduceMean |
axes: Unlimited
keepdims: Unlimited
noop_with_empty_axes: This parameter
is not supported yet
|
ReduceSum |
axes: Unlimited
keepdims: Unlimited
noop_with_empty_axes: This parameter
is not supported yet
|
Relu |
Unlimited |
Reshape |
shape: Unlimited |
Resize |
mode: supports “nearest”、”linear” scales: Unlimited nearest_mode: Only supports setting to round_prefer_ceil |
Sigmoid |
Unlimited |
Slice |
starts: Unlimited
ends: Unlimited
axes: Unlimited
steps: Unlimited
|
SpatialTransformer |
The interpolation method is “bilinear”, The boundary processing method is “constant” (value = 0) |
Split |
axis: Unlimited
num_outputs: Unlimited
|
Sqrt |
Unlimited |
Silu |
Unlimited |
Sin |
Unlimited |
Swish |
Unlimited |
Squeeze |
axes: Unlimited
|
Softmax |
axis: Unlimited
|
Softplus |
Unlimited |
SpaceToDepth |
blocksize: Unlimited |
Sub |
Unlimited |
Tanh |
Unlimited |
Topk |
Unlimited |
Transpose |
perm: Unlimited
|
Unsqueeze |
axes: Unlimited
|
Where |
Unlimited |