Supported Operations¶
Converters Equivalent
COMMAND_LINE : indicates the Op is supported through command-line parameters provided during conversion and not as part of a source framework model. See the Source Framework’s converter help for more details.
INFERRED: indicates Source Framework does not have a concrete definition for Op. However, converter pattern-matches a sequence of Ops to map to listed QNN Op.
— : indicates there is no corresponding Source Framework Op, or the corresponding Op is not yet supported.
Backend Support
YES: Backend has an implementation for Op.
NO: Backend does not have an implementation for Op.
No. |
Operation |
Converters Equivalent |
Backend Support |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Onnx(Opset <= 22) |
TensorFlow |
TensorFlow Lite |
PyTorch |
CPU |
GPU |
HTA |
LPAI |
HTP |
DSP |
|||||||
fp32 |
int8 |
INT8 |
INT16 |
FP16 |
INT16 |
INT8 |
OTHERS |
|||||||||
1 |
COMMAND_LINE |
COMMAND_LINE |
— |
— |
||||||||||||
2 |
ArgMax |
argmax |
— |
argmax |
||||||||||||
3 |
ArgMin |
argmin |
— |
argmin |
||||||||||||
4 |
BBoxTransform(org.pytorch._caffe2) with im_info’s img_scale = 1 |
— |
— |
— |
||||||||||||
5 |
BatchNormalization |
batch_normalization, fused_batch_norm(FusedBatchNorm, FusedBatchNormV3) |
INFERRED |
BatchNorm2d |
||||||||||||
6 |
— |
— |
— |
— |
||||||||||||
7 |
— |
batch_to_space |
batch_to_space_nd |
— |
||||||||||||
8 |
— |
— |
— |
— |
||||||||||||
9 |
BoxWithNMSLimit(org.pytorch._caffe2) |
— |
— |
— |
||||||||||||
10 |
— |
— |
— |
— |
||||||||||||
11 |
Cast |
cast |
— |
to |
||||||||||||
12 |
INFERRED |
INFERRED |
— |
ChannelShuffle |
||||||||||||
13 |
— |
— |
— |
— |
||||||||||||
14 |
— |
— |
— |
— |
||||||||||||
15 |
— |
— |
— |
— |
||||||||||||
16 |
Concat |
concat(Concat, ConcatV2) |
concatenation |
cat |
||||||||||||
17 |
ConstantOfShape |
— |
— |
— |
||||||||||||
18 |
— |
— |
— |
— |
||||||||||||
19 |
Conv, QLinearConv |
conv2d |
conv_2d |
Conv2d |
||||||||||||
20 |
Conv, QLinearConv |
conv3d |
conv_3d |
— |
||||||||||||
21 |
— |
— |
— |
— |
||||||||||||
22 |
— |
— |
— |
— |
||||||||||||
23 |
— |
— |
— |
— |
||||||||||||
24 |
— |
crop_and_resize |
— |
— |
||||||||||||
25 |
CumSum |
cumsum |
cumsum |
cumsum |
||||||||||||
26 |
DepthToSpace |
depth_to_space |
depth_to_space |
PixelShuffle |
||||||||||||
27 |
— |
— |
— |
— |
||||||||||||
28 |
Conv with ‘num_output’ == ‘input channels’ == ‘group’,QLinearConv with ‘num_output’ == ‘input channels’ == ‘group’ |
depthwise_conv2d |
— |
— |
||||||||||||
29 |
DequantizeLinear |
— |
— |
— |
||||||||||||
30 |
— |
INFERRED |
TfliteDetectionPostProcess |
— |
||||||||||||
31 |
— |
— |
— |
— |
||||||||||||
32 |
Abs |
abs |
abs |
abs |
||||||||||||
33 |
Add, Sum |
add(Add, AddV2, Sum), bias_add |
add |
add |
||||||||||||
34 |
And |
logical_and |
— |
logical_and |
||||||||||||
35 |
Asin |
— |
— |
asin |
||||||||||||
36 |
Atan |
— |
atan2 |
atan |
||||||||||||
37 |
— |
— |
— |
— |
||||||||||||
38 |
Ceil |
ceil |
— |
ceil |
||||||||||||
39 |
Cos |
— |
— |
cos |
||||||||||||
40 |
Div, Reciprocal |
divide, realdiv |
div |
div |
||||||||||||
41 |
Equal |
equal |
— |
eq |
||||||||||||
42 |
Exp |
exp |
exp |
exp |
||||||||||||
43 |
Floor |
floor |
floor |
floor |
||||||||||||
44 |
— |
floordiv |
— |
floor_divide |
||||||||||||
45 |
Mod |
— |
— |
— |
||||||||||||
46 |
Greater |
greater |
— |
gt |
||||||||||||
47 |
GreaterOrEqual |
greater_equal |
— |
ge |
||||||||||||
48 |
Less |
less |
— |
lt |
||||||||||||
49 |
LessOrEqual |
less_equal |
— |
le |
||||||||||||
50 |
Log |
log |
— |
log |
||||||||||||
51 |
Max |
maximum |
maximum |
maximum |
||||||||||||
52 |
Min |
minimum |
minimum |
minimum |
||||||||||||
53 |
Mod |
— |
— |
— |
||||||||||||
54 |
Mul |
mul |
mul |
mul |
||||||||||||
55 |
Neg |
negative |
— |
neg |
||||||||||||
56 |
— |
— |
— |
— |
||||||||||||
57 |
Not |
logical_not |
— |
logical_not |
||||||||||||
58 |
IsNaN |
not_equal |
— |
ne |
||||||||||||
59 |
Or |
logical_or |
— |
logical_or |
||||||||||||
60 |
Pow |
pow, square |
— |
pow |
||||||||||||
61 |
Round |
round |
— |
round |
||||||||||||
62 |
— |
rsqrt |
— |
rsqrt |
||||||||||||
63 |
Where |
where |
— |
— |
||||||||||||
64 |
Sign |
— |
sign |
sign |
||||||||||||
65 |
Sin |
sin |
— |
sin |
||||||||||||
66 |
Softplus |
— |
— |
Softplus |
||||||||||||
67 |
— |
— |
— |
— |
||||||||||||
68 |
Sqrt |
sqrt |
sqrt |
sqrt |
||||||||||||
69 |
Sub |
subtract |
sub |
sub |
||||||||||||
70 |
— |
— |
— |
— |
||||||||||||
71 |
Xor |
logical_xor |
— |
logical_xor |
||||||||||||
72 |
Elu |
elu |
— |
— |
||||||||||||
73 |
— |
— |
— |
— |
||||||||||||
74 |
— |
extract_glimpse |
— |
— |
||||||||||||
75 |
— |
extract_patches |
— |
— |
||||||||||||
76 |
MatMul(limited usecase), Gemm(limited usecase) |
dense and tensordot(MatMul) |
fully_connected |
Linear |
||||||||||||
77 |
Gather |
gather(Gather, GatherV2) |
— |
— |
||||||||||||
78 |
GatherElements |
— |
— |
— |
||||||||||||
79 |
GatherND |
gather_nd |
— |
— |
||||||||||||
80 |
INFERRED / Gelu(for onnx version>=1.15) |
INFERRED |
gelu |
GELU |
||||||||||||
81 |
GenerateProposals(org.pytorch._caffe2) with im_info’s img_scale = 1 |
— |
— |
— |
||||||||||||
82 |
— |
— |
— |
— |
||||||||||||
83 |
— |
— |
— |
— |
||||||||||||
84 |
GridSample |
— |
— |
— |
||||||||||||
85 |
GroupNormalization |
— |
— |
GroupNorm |
||||||||||||
86 |
GRU |
— |
— |
— |
||||||||||||
87 |
— |
— |
— |
— |
||||||||||||
88 |
INFERRED |
INFERRED |
— |
Hardswish |
||||||||||||
89 |
— |
— |
— |
— |
||||||||||||
90 |
— |
— |
— |
— |
||||||||||||
91 |
— |
— |
— |
— |
||||||||||||
92 |
— |
image.transform(ImageProjectiveTransform) |
— |
— |
||||||||||||
93 |
InstanceNormalization |
INFERRED |
— |
InstanceNorm2d |
||||||||||||
94 |
IsInf |
— |
— |
— |
||||||||||||
95 |
IsNaN |
— |
— |
— |
||||||||||||
96 |
LpNormalization |
INFERRED |
— |
— |
||||||||||||
97 |
LpPool |
— |
— |
— |
||||||||||||
98 |
LayerNormalization |
LayerNormalization |
— |
LayerNorm |
||||||||||||
99 |
— |
— |
— |
— |
||||||||||||
100 |
LogSoftmax |
log_softmax |
— |
LogSoftmax |
||||||||||||
101 |
LRN |
local_response_normalization |
— |
LocalResponseNorm |
||||||||||||
102 |
LSTM |
INFERRED |
— |
— |
||||||||||||
103 |
— |
— |
— |
— |
||||||||||||
104 |
MatMul, QLinearMatMul |
matmul(BatchMatMul, BatchMatMulV2) |
— |
matmul |
||||||||||||
105 |
— |
INFERRED |
— |
— |
||||||||||||
106 |
nms + gather |
nms + gather |
— |
— |
||||||||||||
107 |
NonMaxSuppression |
— |
— |
— |
||||||||||||
108 |
NonZero |
— |
— |
— |
||||||||||||
109 |
COMMAND_LINE |
COMMAND_LINE |
— |
— |
||||||||||||
110 |
COMMAND_LINE |
COMMAND_LINE |
— |
— |
||||||||||||
111 |
OneHot |
one_hot |
— |
— |
||||||||||||
112 |
— |
stack(Stack, Pack) |
— |
stack |
||||||||||||
113 |
Pad |
pad(Pad, PadV2) |
— |
ConstantPad |
||||||||||||
114 |
AveragePool, GlobalAveragePool |
average_pooling2d |
average_pool_2d |
AvgPool2d |
||||||||||||
115 |
AveragePool, GlobalAveragePool |
— |
— |
— |
||||||||||||
116 |
MaxPool, GlobalMaxPool |
max_pooling2d |
max_pool_2d |
MaxPool2d |
||||||||||||
117 |
MaxPool, GlobalMaxPool |
— |
— |
— |
||||||||||||
118 |
PRelu, LeakyRelu |
PReLU |
— |
PReLU |
||||||||||||
119 |
QuantizeLinear |
— |
— |
— |
||||||||||||
120 |
RandomUniformLike |
— |
— |
— |
||||||||||||
121 |
ReduceMax |
reduce_max |
— |
max |
||||||||||||
122 |
ReduceMean |
reduce_mean |
— |
mean |
||||||||||||
123 |
ReduceMin |
reduce_min |
— |
min |
||||||||||||
124 |
ReduceProd |
reduce_prod |
— |
prod |
||||||||||||
125 |
ReduceSum |
reduce_sum |
— |
sum |
||||||||||||
126 |
ReduceSumSquare |
— |
— |
— |
||||||||||||
127 |
Relu |
relu |
relu |
ReLU |
||||||||||||
128 |
— |
— |
— |
— |
||||||||||||
129 |
— |
relu6 |
— |
ReLU6 |
||||||||||||
130 |
Clip |
INFERRED |
relu6 |
Hardtanh |
||||||||||||
131 |
Reshape, Flatten, Squeeze, UnSqueeze |
reshape, squeeze, expand_dims |
reshape |
reshape |
||||||||||||
132 |
Resize |
— |
— |
Resize |
||||||||||||
133 |
Resize |
resize_bilinear |
resize_bilinear |
UpsamplingBilinear2d |
||||||||||||
134 |
Resize, ResizeNearest(org.pytorch._caffe2) |
resize_nearest_neighbor |
— |
— |
||||||||||||
135 |
— |
— |
— |
— |
||||||||||||
136 |
RoiAlign, RoIAlign(org.pytorch._caffe2) |
— |
— |
— |
||||||||||||
137 |
MaxRoiPool |
— |
— |
— |
||||||||||||
138 |
ScatterElements, Scatter (deprecated) |
— |
— |
— |
||||||||||||
139 |
ScatterND |
— |
— |
— |
||||||||||||
140 |
Shape |
— |
— |
— |
||||||||||||
141 |
Sigmoid |
sigmoid |
— |
sigmoid |
||||||||||||
142 |
Softmax |
softmax |
softmax |
Softmax |
||||||||||||
143 |
— |
space_to_batch(SpaceToBatchND) |
space_to_batch_nd |
— |
||||||||||||
144 |
SpaceToDepth |
space_to_depth |
— |
— |
||||||||||||
145 |
— |
— |
— |
— |
||||||||||||
146 |
Split |
split(Split, SplitV) |
— |
split |
||||||||||||
147 |
— |
— |
— |
— |
||||||||||||
148 |
STFT |
— |
— |
— |
||||||||||||
149 |
Slice |
strided_slice |
slice |
— |
||||||||||||
150 |
Tanh |
tanh |
tanh |
tanh |
||||||||||||
151 |
Tile |
tile |
— |
— |
||||||||||||
152 |
TopK |
top_k |
— |
topk |
||||||||||||
153 |
Transpose |
transpose |
— |
transpose |
||||||||||||
154 |
— |
— |
— |
— |
||||||||||||
155 |
ConvTranspose |
conv2d_transpose |
transpose_conv |
ConvTranspose2d |
||||||||||||
156 |
ConvTranspose |
conv3d_transpose |
transpose_conv3d |
— |
||||||||||||
157 |
— |
unstack |
— |
unbind |
||||||||||||