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 <= 24) |
TensorFlow |
TensorFlow Lite |
PyTorch |
CPU |
GPU |
HTA |
LPAI |
HTP |
DSP |
||||||||
fp32 |
int8 |
V5 |
V6 |
BF16 |
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 |
— |
— |
— |
— |
|||||||||||||
56 |
Neg |
negative |
— |
neg |
|||||||||||||
57 |
— |
— |
— |
— |
|||||||||||||
58 |
Not |
logical_not |
— |
logical_not |
|||||||||||||
59 |
IsNaN |
not_equal |
— |
ne |
|||||||||||||
60 |
Or |
logical_or |
— |
logical_or |
|||||||||||||
61 |
Pow |
pow, square |
— |
pow |
|||||||||||||
62 |
Round |
round |
— |
round |
|||||||||||||
63 |
— |
rsqrt |
— |
rsqrt |
|||||||||||||
64 |
Where |
where |
— |
— |
|||||||||||||
65 |
Sign |
— |
sign |
sign |
|||||||||||||
66 |
Sin |
sin |
— |
sin |
|||||||||||||
67 |
Softplus |
— |
— |
Softplus |
|||||||||||||
68 |
— |
— |
— |
— |
|||||||||||||
69 |
Sqrt |
sqrt |
sqrt |
sqrt |
|||||||||||||
70 |
Sub |
subtract |
sub |
sub |
|||||||||||||
71 |
— |
— |
— |
— |
|||||||||||||
72 |
Xor |
logical_xor |
— |
logical_xor |
|||||||||||||
73 |
Elu |
elu |
— |
— |
|||||||||||||
74 |
— |
— |
— |
— |
|||||||||||||
75 |
— |
extract_glimpse |
— |
— |
|||||||||||||
76 |
— |
extract_patches |
— |
— |
|||||||||||||
77 |
MatMul(limited usecase), Gemm(limited usecase) |
dense and tensordot(MatMul) |
fully_connected |
Linear |
|||||||||||||
78 |
Gather |
gather(Gather, GatherV2) |
— |
— |
|||||||||||||
79 |
GatherElements |
— |
— |
— |
|||||||||||||
80 |
GatherND |
gather_nd |
— |
— |
|||||||||||||
81 |
INFERRED / Gelu(for onnx version>=1.15) |
INFERRED |
gelu |
GELU |
|||||||||||||
82 |
GenerateProposals(org.pytorch._caffe2) with im_info’s img_scale = 1 |
— |
— |
— |
|||||||||||||
83 |
— |
— |
— |
— |
|||||||||||||
84 |
— |
— |
— |
— |
|||||||||||||
85 |
GridSample |
— |
— |
— |
|||||||||||||
86 |
GroupNormalization |
— |
— |
GroupNorm |
|||||||||||||
87 |
GRU |
— |
— |
— |
|||||||||||||
88 |
— |
— |
— |
— |
|||||||||||||
89 |
INFERRED |
INFERRED |
— |
Hardswish |
|||||||||||||
90 |
— |
— |
— |
— |
|||||||||||||
91 |
— |
— |
— |
— |
|||||||||||||
92 |
— |
— |
— |
— |
|||||||||||||
93 |
— |
image.transform(ImageProjectiveTransform) |
— |
— |
|||||||||||||
94 |
InstanceNormalization |
INFERRED |
— |
InstanceNorm2d |
|||||||||||||
95 |
IsInf |
— |
— |
— |
|||||||||||||
96 |
IsNaN |
— |
— |
— |
|||||||||||||
97 |
LpNormalization |
INFERRED |
— |
— |
|||||||||||||
98 |
LpPool |
— |
— |
— |
|||||||||||||
99 |
LayerNormalization |
LayerNormalization |
— |
LayerNorm |
|||||||||||||
100 |
— |
— |
— |
— |
|||||||||||||
101 |
LogSoftmax |
log_softmax |
— |
LogSoftmax |
|||||||||||||
102 |
LRN |
local_response_normalization |
— |
LocalResponseNorm |
|||||||||||||
103 |
LSTM |
INFERRED |
— |
— |
|||||||||||||
104 |
— |
— |
— |
— |
|||||||||||||
105 |
MatMul, QLinearMatMul |
matmul(BatchMatMul, BatchMatMulV2) |
— |
matmul |
|||||||||||||
106 |
— |
INFERRED |
— |
— |
|||||||||||||
107 |
nms + gather |
nms + gather |
— |
— |
|||||||||||||
108 |
NonMaxSuppression |
— |
— |
— |
|||||||||||||
109 |
NonZero |
— |
— |
— |
|||||||||||||
110 |
COMMAND_LINE |
COMMAND_LINE |
— |
— |
|||||||||||||
111 |
COMMAND_LINE |
COMMAND_LINE |
— |
— |
|||||||||||||
112 |
OneHot |
one_hot |
— |
— |
|||||||||||||
113 |
— |
stack(Stack, Pack) |
— |
stack |
|||||||||||||
114 |
Pad |
pad(Pad, PadV2) |
— |
ConstantPad |
|||||||||||||
115 |
AveragePool, GlobalAveragePool |
average_pooling2d |
average_pool_2d |
AvgPool2d |
|||||||||||||
116 |
AveragePool, GlobalAveragePool |
— |
— |
— |
|||||||||||||
117 |
MaxPool, GlobalMaxPool |
max_pooling2d |
max_pool_2d |
MaxPool2d |
|||||||||||||
118 |
MaxPool, GlobalMaxPool |
— |
— |
— |
|||||||||||||
119 |
PRelu, LeakyRelu |
PReLU |
— |
PReLU |
|||||||||||||
120 |
QuantizeLinear |
— |
— |
— |
|||||||||||||
121 |
RandomUniformLike |
— |
— |
— |
|||||||||||||
122 |
ReduceMax |
reduce_max |
— |
max |
|||||||||||||
123 |
ReduceMean |
reduce_mean |
— |
mean |
|||||||||||||
124 |
ReduceMin |
reduce_min |
— |
min |
|||||||||||||
125 |
ReduceProd |
reduce_prod |
— |
prod |
|||||||||||||
126 |
ReduceSum |
reduce_sum |
— |
sum |
|||||||||||||
127 |
ReduceSumSquare |
— |
— |
— |
|||||||||||||
128 |
Relu |
relu |
relu |
ReLU |
|||||||||||||
129 |
— |
— |
— |
— |
|||||||||||||
130 |
— |
relu6 |
— |
ReLU6 |
|||||||||||||
131 |
Clip |
INFERRED |
relu6 |
Hardtanh |
|||||||||||||
132 |
Reshape, Flatten, Squeeze, UnSqueeze |
reshape, squeeze, expand_dims |
reshape |
reshape |
|||||||||||||
133 |
Resize |
— |
— |
Resize |
|||||||||||||
134 |
Resize |
resize_bilinear |
resize_bilinear |
UpsamplingBilinear2d |
|||||||||||||
135 |
Resize, ResizeNearest(org.pytorch._caffe2) |
resize_nearest_neighbor |
— |
— |
|||||||||||||
136 |
RMSNormalization |
— |
— |
— |
|||||||||||||
137 |
RoiAlign, RoIAlign(org.pytorch._caffe2) |
— |
— |
— |
|||||||||||||
138 |
MaxRoiPool |
— |
— |
— |
|||||||||||||
139 |
RotaryEmbedding |
— |
— |
— |
|||||||||||||
140 |
ScatterElements, Scatter (deprecated) |
— |
— |
— |
|||||||||||||
141 |
ScatterND |
— |
— |
— |
|||||||||||||
142 |
Shape |
— |
— |
— |
|||||||||||||
143 |
Sigmoid |
sigmoid |
— |
sigmoid |
|||||||||||||
144 |
Softmax |
softmax |
softmax |
Softmax |
|||||||||||||
145 |
— |
space_to_batch(SpaceToBatchND) |
space_to_batch_nd |
— |
|||||||||||||
146 |
SpaceToDepth |
space_to_depth |
— |
— |
|||||||||||||
147 |
— |
— |
— |
— |
|||||||||||||
148 |
Split |
split(Split, SplitV) |
— |
split |
|||||||||||||
149 |
— |
— |
— |
— |
|||||||||||||
150 |
STFT |
— |
— |
— |
|||||||||||||
151 |
Slice |
strided_slice |
slice |
— |
|||||||||||||
152 |
Tanh |
tanh |
tanh |
tanh |
|||||||||||||
153 |
Tile |
tile |
— |
— |
|||||||||||||
154 |
TopK |
top_k |
— |
topk |
|||||||||||||
155 |
Transpose |
transpose |
— |
transpose |
|||||||||||||
156 |
— |
— |
— |
— |
|||||||||||||
157 |
ConvTranspose |
conv2d_transpose |
transpose_conv |
ConvTranspose2d |
|||||||||||||
158 |
ConvTranspose |
conv3d_transpose |
transpose_conv3d |
— |
|||||||||||||
159 |
— |
unstack |
— |
unbind |
|||||||||||||