Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Create release 1.8.0
Create release 1.8.0 with updates in
- ONNX_VERSION_NUMBER: ONNX version numbmer
- VERSION_NUMBER: ONNX-TF version number
- .github/workflows/test-backend.yml: versions for ONNX and TF
- .github/workflows/test-modelzoo.yml: versions for ONNX and TF
- doc/support_status.md: support status for the latest masters
- doc/support_status_v1_8_0.md: support status for the release
1.8.0

Signed-off-by: Chin Huang <[email protected]>
  • Loading branch information
chinhuang007 committed Apr 7, 2021
commit 01415749c0c47c9b7dea0c325665aac4888c88d8
6 changes: 3 additions & 3 deletions .github/workflows/test-backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ jobs:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: [3.6, 3.8]
onnx-version: ['onnx==1.8.0']
tensorflow-version: ['tensorflow-cpu==2.3.1 tensorflow-addons==0.11.2']
tensorflow-version: ['tensorflow-cpu==2.4.1 tensorflow-addons==0.12.0']
include:
- # Test previous versions on Linux only (regression)
# - use pinned versions for previous onnx-tf release
os: ubuntu-latest
python-version: 3.6
onnx-version: 'onnx==1.7.0'
tensorflow-version: 'tensorflow-cpu==2.3.1 tensorflow-addons==0.11.2'
onnx-version: 'onnx==1.8.0'
tensorflow-version: 'tensorflow==2.4.1 tensorflow-addons==0.12.0'
- # Test development versions on Linux only
# - latest development versions
# - allow failure via GitHub branch protection rule
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-modelzoo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
python-version: '3.6'
- name: Install dependencies
run: |
pip install onnx==1.7.0 tensorflow-cpu==2.3.1 tensorflow-addons==0.11.2
pip install onnx==1.8.0 tensorflow==2.4.1 tensorflow-addons==0.12.0
pip install -e .
- name: Run ModelZoo tests
run: |
Expand Down
2 changes: 1 addition & 1 deletion ONNX_VERSION_NUMBER
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.7.0
1.8.0
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ The specific ONNX release version that we support in the master branch of ONNX-T

To install the latest version of ONNX-TF via pip, run `pip install onnx-tf`.

Because users often have their own preferences for which variant of TensorFlow to install (i.e., a GPU version instead of a CPU version), we do not explicitly require tensorflow in the installation script. It is therefore users' responsibility to ensure that the proper variant of TensorFlow is available to ONNX-TF. Moreover, we require TensorFlow version == 2.3.1.
Because users often have their own preferences for which variant of TensorFlow to install (i.e., a GPU version instead of a CPU version), we do not explicitly require tensorflow in the installation script. It is therefore users' responsibility to ensure that the proper variant of TensorFlow is available to ONNX-TF. Moreover, we require TensorFlow version == 2.4.1.

## Development

Expand All @@ -53,7 +53,7 @@ Because users often have their own preferences for which variant of TensorFlow t

### Installation
- Install ONNX master branch from source.
- Install TensorFlow >= 2.3.1 and tensorflow-addons. (Note for TensorFlow 1.x please refer the [tf-1.x branch](https://github.com/onnx/onnx-tensorflow/tree/tf-1.x))
- Install TensorFlow >= 2.4.1 and tensorflow-addons. (Note TensorFlow 1.x is no longer supported)
- Run `git clone https://github.com/onnx/onnx-tensorflow.git && cd onnx-tensorflow`.
- Run `pip install -e .`.

Expand Down
2 changes: 1 addition & 1 deletion VERSION_NUMBER
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.7.0
1.8.0
336 changes: 168 additions & 168 deletions doc/support_status.md

Large diffs are not rendered by default.

208 changes: 208 additions & 0 deletions doc/support_status_v1_8_0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
# ONNX-Tensorflow Support Status
|||
|-:|:-|
|ONNX-Tensorflow Version|v1.8.0|
|ONNX Version|1.8.1|
|Tensorflow Version|v2.4.1|

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

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

Notes:
1. Cast: Cast string to data types other than float32/float64/int32/int64 is not supported in Tensorflow
2. ConcatFromSequence: new_axis=1 not supported in Tensorflow.
3. ConvTranspose: ConvTranspose with dilations != 1, or transposed convolution for 4D or higher are not supported in Tensorflow.
4. 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.
5. Identity: Identity with sequence type is not supported in Tensorflow
6. LSTM: LSTM not using sigmoid for `f`, or LSTM not using the same activation for `g` and `h` are not supported in Tensorflow.
7. MaxPool: MaxPoolWithArgmax with pad is None or incompatible mode, or MaxPoolWithArgmax with 4D or higher input, or MaxPoolWithArgmax with column major are not supported in Tensorflow.
8. RNN: RNN with clip is not supported in Tensorflow.
9. 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.
10. RoiAlign: sampling_ratio <= 0 is not fully supported.
11. SplitToSequence: Scalar as the split input not supported.
12. Upsample: Upsample required 4D input in Tensorflow.