Files
ascend-tools/pt2pb/onnx-tensorflow/doc/support_status.md
T
2020-10-14 08:55:07 +08:00

15 KiB

ONNX-Tensorflow Support Status

ONNX-Tensorflow Version Master ( commit id: 8fea59a976e2d65eab2ab021864e2cab038bb7d5 )
ONNX Version v1.7.0
Tensorflow Version v1.15.0

Notes:

  • Values that are new or updated from a previous opset version are in bold.
  • -: not defined in corresponding ONNX opset version
  • *: the operator is deprecated
  • :small_red_triangle:: not supported yet
  • :small_orange_diamond:: partially supported
  • the rest are all supported
ONNX Operator Opset 1 Opset 2 Opset 3 Opset 4 Opset 5 Opset 6 Opset 7 Opset 8 Opset 9 Opset 10 Opset 11 Opset 12 ONNX Operator
Abs 1 1 1 1 1 6 6 6 6 6 6 6 Abs
Acos - - - - - - 7 7 7 7 7 7 Acos
Acosh - - - - - - - - 9 9 9 9 Acosh
Add 1 1 1 1 1 6 7 7 7 7 7 7 Add
And 1 1 1 1 1 1 7 7 7 7 7 7 And
ArgMax 1 1 1 1 1 1 1 1 1 1 11 12 ArgMax
ArgMin 1 1 1 1 1 1 1 1 1 1 11 12 ArgMin
Asin - - - - - - 7 7 7 7 7 7 Asin
Asinh - - - - - - - - 9 9 9 9 Asinh
Atan - - - - - - 7 7 7 7 7 7 Atan
Atanh - - - - - - - - 9 9 9 9 Atanh
AveragePool 1 1 1 1 1 1 7 7 7 10 11 11 AveragePool
BatchNormalization 1 1 1 1 1 6 7 7 9 9 9 9 BatchNormalization
BitShift - - - - - - - - - - 11 11 BitShift
Cast 1🔸 1🔸 1🔸 1🔸 1🔸 6🔸 6🔸 6🔸 9🔸 9🔸 9🔸 9🔸 Cast
Ceil 1 1 1 1 1 6 6 6 6 6 6 6 Ceil
Celu - - - - - - - - - - - 12🔺 Celu
Clip 1🔸 1🔸 1🔸 1🔸 1🔸 6🔸 6🔸 6🔸 6🔸 6🔸 11🔸 12🔸 Clip
Compress - - - - - - - - 9 9 11 11 Compress
Concat 1 1 1 4 4 4 4 4 4 4 11 11 Concat
ConcatFromSequence - - - - - - - - - - 11🔺 11🔺 ConcatFromSequence
Constant 1 1 1 1 1 1 1 1 9 9 11 12 Constant
ConstantOfShape - - - - - - - - 9 9 9 9 ConstantOfShape
Conv 1 1 1 1 1 1 1 1 1 1 11 11 Conv
ConvInteger - - - - - - - - - 10 10 10 ConvInteger
ConvTranspose 1🔸 1🔸 1🔸 1🔸 1🔸 1🔸 1🔸 1🔸 1🔸 1🔸 11🔸 11🔸 ConvTranspose
Cos - - - - - - 7 7 7 7 7 7 Cos
Cosh - - - - - - - - 9 9 9 9 Cosh
CumSum - - - - - - - - - - 11🔸 11🔸 CumSum
DepthToSpace 1 1 1 1 1 1 1 1 1 1 11 11 DepthToSpace
DequantizeLinear - - - - - - - - - 10 10 10 DequantizeLinear
Det - - - - - - - - - - 11 11 Det
Div 1 1 1 1 1 6 7 7 7 7 7 7 Div
Dropout 1 1 1 1 1 6 7 7 7 10 10 12🔺 Dropout
DynamicQuantizeLinear - - - - - - - - - - 11 11 DynamicQuantizeLinear
Einsum - - - - - - - - - - - 12🔺 Einsum
Elu 1 1 1 1 1 6 6 6 6 6 6 6 Elu
Equal 1🔸 1🔸 1🔸 1🔸 1🔸 1🔸 7🔸 7🔸 7🔸 7🔸 11🔸 11🔸 Equal
Erf - - - - - - - - 9 9 9 9 Erf
Exp 1 1 1 1 1 6 6 6 6 6 6 6 Exp
Expand - - - - - - - 8 8 8 8 8 Expand
EyeLike - - - - - - - - 9 9 9 9 EyeLike
Flatten 1 1 1 1 1 1 1 1 9 9 11 11 Flatten
Floor 1 1 1 1 1 6 6 6 6 6 6 6 Floor
GRU 1🔸 1🔸 3🔸 3🔸 3🔸 3🔸 7🔸 7🔸 7🔸 7🔸 7🔸 7🔸 GRU
Gather 1 1 1 1 1 1 1 1 1 1 11 11 Gather
GatherElements - - - - - - - - - - 11 11 GatherElements
GatherND - - - - - - - - - - 11 12🔺 GatherND
Gemm 1 1 1 1 1 6 7 7 9 9 11 11 Gemm
GlobalAveragePool 1 1 1 1 1 1 1 1 1 1 1 1 GlobalAveragePool
GlobalLpPool 1 2 2 2 2 2 2 2 2 2 2 2 GlobalLpPool
GlobalMaxPool 1 1 1 1 1 1 1 1 1 1 1 1 GlobalMaxPool
Greater 1 1 1 1 1 1 7 7 9 9 9 9 Greater
GreaterOrEqual - - - - - - - - - - - 12🔺 GreaterOrEqual
HardSigmoid 1 1 1 1 1 6 6 6 6 6 6 6 HardSigmoid
Hardmax 1 1 1 1 1 1 1 1 1 1 11 11 Hardmax
Identity 1 1 1 1 1 1 1 1 1 1 1 1 Identity
If 1 1 1 1 1 1 1 1 1 1 11 11 If
InstanceNormalization 1 1 1 1 1 6 6 6 6 6 6 6 InstanceNormalization
IsInf - - - - - - - - - 10 10 10 IsInf
IsNaN - - - - - - - - 9 9 9 9 IsNaN
LRN 1 1 1 1 1 1 1 1 1 1 1 1 LRN
LSTM 1🔸 1🔸 1🔸 1🔸 1🔸 1🔸 7🔸 7🔸 7🔸 7🔸 7🔸 7🔸 LSTM
LeakyRelu 1 1 1 1 1 6 6 6 6 6 6 6 LeakyRelu
Less 1 1 1 1 1 1 7 7 9 9 9 9 Less
LessOrEqual - - - - - - - - - - - 12🔺 LessOrEqual
Log 1 1 1 1 1 6 6 6 6 6 6 6 Log
LogSoftmax 1 1 1 1 1 1 1 1 1 1 11 11 LogSoftmax
Loop 1 1 1 1 1 1 1 1 1 1 11 11 Loop
LpNormalization 1 1 1 1 1 1 1 1 1 1 1 1 LpNormalization
LpPool 1 2 2 2 2 2 2 2 2 2 11 11 LpPool
MatMul 1 1 1 1 1 1 1 1 9 9 9 9 MatMul
MatMulInteger - - - - - - - - - 10 10 10 MatMulInteger
Max 1 1 1 1 1 6 6 8 8 8 8 12🔺 Max
MaxPool 1🔸 1🔸 1🔸 1🔸 1🔸 1🔸 1🔸 8🔸 8🔸 10🔸 11🔸 12🔸 MaxPool
MaxRoiPool 1🔺 1🔺 1🔺 1🔺 1🔺 1🔺 1🔺 1🔺 1🔺 1🔺 1🔺 1🔺 MaxRoiPool
MaxUnpool - - - - - - - - 9 9 11 11 MaxUnpool
Mean 1 1 1 1 1 6 6 8 8 8 8 8 Mean
MeanVarianceNormalization - - - - - - - - 9 9 9 9 MeanVarianceNormalization
Min 1 1 1 1 1 6 6 8 8 8 8 12🔺 Min
Mod - - - - - - - - - 10🔸 10🔸 10🔸 Mod
Mul 1 1 1 1 1 6 7 7 7 7 7 7 Mul
Multinomial - - - - - - 7🔺 7🔺 7🔺 7🔺 7🔺 7🔺 Multinomial
Neg 1 1 1 1 1 6 6 6 6 6 6 6 Neg
NegativeLogLikelihoodLoss - - - - - - - - - - - 12🔺 NegativeLogLikelihoodLoss
NonMaxSuppression - - - - - - - - - 10 11 11 NonMaxSuppression
NonZero - - - - - - - - 9 9 9 9 NonZero
Not 1 1 1 1 1 1 1 1 1 1 1 1 Not
OneHot - - - - - - - - 9🔸 9🔸 11🔸 11🔸 OneHot
Or 1 1 1 1 1 1 7 7 7 7 7 7 Or
PRelu 1 1 1 1 1 6 7 7 9 9 9 9 PRelu
Pad 1 2 2 2 2 2 2 2 2 2 11 11 Pad
Pow 1 1 1 1 1 1 7 7 7 7 7 12🔺 Pow
QLinearConv - - - - - - - - - 10 10 10 QLinearConv
QLinearMatMul - - - - - - - - - 10 10 10 QLinearMatMul
QuantizeLinear - - - - - - - - - 10 10 10 QuantizeLinear
RNN 1🔸 1🔸 1🔸 1🔸 1🔸 1🔸 7🔸 7🔸 7🔸 7🔸 7🔸 7🔸 RNN
RandomNormal 1 1 1 1 1 1 1 1 1 1 1 1 RandomNormal
RandomNormalLike 1 1 1 1 1 1 1 1 1 1 1 1 RandomNormalLike
RandomUniform 1 1 1 1 1 1 1 1 1 1 1 1 RandomUniform
RandomUniformLike 1 1 1 1 1 1 1 1 1 1 1 1 RandomUniformLike
Range - - - - - - - - - - 11 11 Range
Reciprocal 1 1 1 1 1 6 6 6 6 6 6 6 Reciprocal
ReduceL1 1 1 1 1 1 1 1 1 1 1 11 11 ReduceL1
ReduceL2 1 1 1 1 1 1 1 1 1 1 11 11 ReduceL2
ReduceLogSum 1 1 1 1 1 1 1 1 1 1 11 11 ReduceLogSum
ReduceLogSumExp 1 1 1 1 1 1 1 1 1 1 11 11 ReduceLogSumExp
ReduceMax 1 1 1 1 1 1 1 1 1 1 11 12 ReduceMax
ReduceMean 1 1 1 1 1 1 1 1 1 1 11 11 ReduceMean
ReduceMin 1 1 1 1 1 1 1 1 1 1 11 12 ReduceMin
ReduceProd 1 1 1 1 1 1 1 1 1 1 11 11 ReduceProd
ReduceSum 1 1 1 1 1 1 1 1 1 1 11 11 ReduceSum
ReduceSumSquare 1 1 1 1 1 1 1 1 1 1 11 11 ReduceSumSquare
Relu 1 1 1 1 1 6 6 6 6 6 6 6 Relu
Reshape 1 1 1 1 5 5 5 5 5 5 5 5 Reshape
Resize - - - - - - - - - 10🔸 11🔸 11🔸 Resize
ReverseSequence - - - - - - - - - 10 10 10 ReverseSequence
RoiAlign - - - - - - - - - 10🔺 10🔺 10🔺 RoiAlign
Round - - - - - - - - - - 11 11 Round
Scan - - - - - - - 8 9 9 11 11 Scan
Scatter - - - - - - - - 9 9 11* 11* Scatter
ScatterElements - - - - - - - - - - 11 11 ScatterElements
ScatterND - - - - - - - - - - 11 11 ScatterND
Selu 1 1 1 1 1 6 6 6 6 6 6 6 Selu
SequenceAt - - - - - - - - - - 11 11 SequenceAt
SequenceConstruct - - - - - - - - - - 11 11 SequenceConstruct
SequenceEmpty - - - - - - - - - - 11 11 SequenceEmpty
SequenceErase - - - - - - - - - - 11 11 SequenceErase
SequenceInsert - - - - - - - - - - 11 11 SequenceInsert
SequenceLength - - - - - - - - - - 11 11 SequenceLength
Shape 1 1 1 1 1 1 1 1 1 1 1 1 Shape
Shrink - - - - - - - - 9 9 9 9 Shrink
Sigmoid 1 1 1 1 1 6 6 6 6 6 6 6 Sigmoid
Sign - - - - - - - - 9 9 9 9 Sign
Sin - - - - - - 7 7 7 7 7 7 Sin
Sinh - - - - - - - - 9 9 9 9 Sinh
Size 1 1 1 1 1 1 1 1 1 1 1 1 Size
Slice 1 1 1 1 1 1 1 1 1 10 11 11 Slice
Softmax 1 1 1 1 1 1 1 1 1 1 11 11 Softmax
SoftmaxCrossEntropyLoss - - - - - - - - - - - 12🔺 SoftmaxCrossEntropyLoss
Softplus 1 1 1 1 1 1 1 1 1 1 1 1 Softplus
Softsign 1 1 1 1 1 1 1 1 1 1 1 1 Softsign
SpaceToDepth 1 1 1 1 1 1 1 1 1 1 1 1 SpaceToDepth
Split 1 2 2 2 2 2 2 2 2 2 11 11 Split
SplitToSequence - - - - - - - - - - 11🔺 11🔺 SplitToSequence
Sqrt 1 1 1 1 1 6 6 6 6 6 6 6 Sqrt
Squeeze 1 1 1 1 1 1 1 1 1 1 11 11 Squeeze
StringNormalizer - - - - - - - - - 10🔺 10🔺 10🔺 StringNormalizer
Sub 1 1 1 1 1 6 7 7 7 7 7 7 Sub
Sum 1 1 1 1 1 6 6 8 8 8 8 8 Sum
Tan - - - - - - 7 7 7 7 7 7 Tan
Tanh 1 1 1 1 1 6 6 6 6 6 6 6 Tanh
TfIdfVectorizer - - - - - - - - 9 9 9 9 TfIdfVectorizer
ThresholdedRelu - - - - - - - - - 10 10 10 ThresholdedRelu
Tile 1 1 1 1 1 6 6 6 6 6 6 6 Tile
TopK 1 1 1 1 1 1 1 1 1 10 11 11 TopK
Transpose 1 1 1 1 1 1 1 1 1 1 1 1 Transpose
Unique - - - - - - - - - - 11🔺 11🔺 Unique
Unsqueeze 1 1 1 1 1 1 1 1 1 1 11 11 Unsqueeze
Upsample 1🔺 1🔺 1🔺 1🔺 1🔺 1🔺 7🔸 7🔸 9🔸 10* 10* 10* Upsample
Where - - - - - - - - 9 9 9 9 Where
Xor 1 1 1 1 1 1 7 7 7 7 7 7 Xor

ONNX-TF Supported Operators / ONNX Operators: 144 / 162

Notes:

  1. Cast: Cast string to float32/float64/int32/int64 are not supported in Tensorflow.
  2. Clip: Clip input in uint64 is not supported in Tensorflow.
  3. ConvTranspose: ConvTranspose with dilations != 1, or transposed convolution for 4D or higher are not supported in Tensorflow.
  4. CumSum: CumSum inputs in uint32/uint64 are not supported in Tensorflow.
  5. Equal: Equal inputs in uint16/uint32/uint64 are not supported in Tensorflow.
  6. GRU: GRU with clip or GRU with linear_before_reset, or GRU not using sigmoid for z and r, or GRU using Elu as the activation function with alpha != 1, or GRU using HardSigmoid as the activation function with alpha != 0.2 or beta != 0.5 are not supported in TensorFlow.
  7. LSTM: LSTM not using sigmoid for f, or LSTM not using the same activation for g and h are not supported in Tensorflow.
  8. MaxPool: MaxPoolWithArgmax with pad is None or incompatible mode, or MaxPoolWithArgmax with 4D or higher input, orMaxPoolWithArgmax with column major are not supported in Tensorflow.
  9. Mod: Mod Dividend or Divisor in int8/int16/uint8/uint16/uint32/uint64 are not supported in Tensorflow.
  10. OneHot: OneHot indices in uint16/uint32/uint64/int8/int16/float16/float/double, or OneHot depth in uint8/uint16/uint32/uint64/int8/int16/int64/float16/float/double are not supported in Tensorflow.
  11. RNN: RNN with clip is not supported in Tensorflow.
  12. Resize: Resize required 4D input in Tensorflow. For opset 11, only the following attributes and inputs conbination are supported in Tensorflow:
    1. mode=nearest, coordinate_transformation_mode=align_corners, nearest_mode=round_prefer_ceil, can use scales(*) or sizes.
    2. mode=nearest, coordinate_transformation_mode=asymmetric, nearest_mode=floor, can use scales(*) or sizes.
    3. mode=nearest, coordinate_transformation_mode=tf_half_pixel_for_nn, nearest_mode=floor, can use scales(*) or sizes.
    4. mode=linear, coordinate_transformation_mode=align_corners, can use scales(*) or sizes.
    5. mode=linear, coordinate_transformation_mode=asymmetric, can use scales(*) or sizes.
    6. mode=linear, coordinate_transformation_mode=half_pixel, can use scales(*) or sizes.
    7. mode=cubic, coordinate_transformation_mode=align_corners, cubic_coeff_a=-0.5, exclude_outside=1, can use scales(*) or sizes.
    8. mode=cubic, coordinate_transformation_mode=asymmetric, cubic_coeff_a=-0.5, exclude_outside=1, can use scales(*) or sizes.
    9. mode=cubic, coordinate_transformation_mode=half_pixel, cubic_coeff_a=-0.5, exclude_outside=1, can use scales(*) or sizes.
    10. mode=nearest, coordinate_transformation_mode=tf_crop_and_resize, extrapolation_value=any_float_value, nearest_mode=round_prefer_ceil, can use scales or sizes.
    11. mode=linear, coordinate_transformation_mode=tf_crop_and_resize, extrapolation_value=any_float_value, can use scales or sizes.
    • Note (*): The accuracy of your model will go down, if the height and the width of the new sizes(scales * origial sizes) are not in whole numbers.
  13. Upsample: Upsample required 4D input in Tensorflow.