diff --git a/README.md b/README.md index 103e74584..af16cd358 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ The common issues we run into we try to document here [Troubleshooting Guide](Tr | Build Type | OS | Python | Tensorflow | ONNX opset | Status | | --- | --- | --- | --- | --- | --- | -| Unit Test - Basic | Linux, MacOS\*, Windows\* | 3.6-3.9 | 1.12-1.15, 2.1-2.6 | 8-14 | [![Build Status](https://dev.azure.com/tensorflow-onnx/tensorflow-onnx/_apis/build/status/unit_test?branchName=master)](https://dev.azure.com/tensorflow-onnx/tensorflow-onnx/_build/latest?definitionId=16&branchName=master) | -| Unit Test - Full | Linux, MacOS, Windows | 3.6-3.9 | 1.12-1.15, 2.1-2.6 | 8-14 | [![Build Status](https://dev.azure.com/tensorflow-onnx/tensorflow-onnx/_apis/build/status/unit_test-matrix?branchName=master)](https://dev.azure.com/tensorflow-onnx/tensorflow-onnx/_build/latest?definitionId=18&branchName=master) | | +| Unit Test - Basic | Linux, MacOS\*, Windows\* | 3.6-3.9 | 1.12-1.15, 2.1-2.6 | 9-15 | [![Build Status](https://dev.azure.com/tensorflow-onnx/tensorflow-onnx/_apis/build/status/unit_test?branchName=master)](https://dev.azure.com/tensorflow-onnx/tensorflow-onnx/_build/latest?definitionId=16&branchName=master) | +| Unit Test - Full | Linux, MacOS, Windows | 3.6-3.9 | 1.12-1.15, 2.1-2.6 | 9-15 | [![Build Status](https://dev.azure.com/tensorflow-onnx/tensorflow-onnx/_apis/build/status/unit_test-matrix?branchName=master)](https://dev.azure.com/tensorflow-onnx/tensorflow-onnx/_build/latest?definitionId=18&branchName=master) | |
## Supported Versions @@ -27,7 +27,7 @@ The common issues we run into we try to document here [Troubleshooting Guide](Tr tf2onnx will use the ONNX version installed on your system and installs the latest ONNX version if none is found. -We support and test ONNX opset-8 to opset-14. opset-6 and opset-7 should work but we don't test them. +We support and test ONNX opset-9 to opset-15. opset-6 to opset-8 should work but we don't test them. By default we use ```opset-9``` for the resulting ONNX graph since most runtimes will support opset-9. If you want the graph to be generated with a specific opset, use ```--opset``` in the command line, for example ```--opset 13```. diff --git a/ci_build/azure_pipelines/keras2onnx_unit_test.yml b/ci_build/azure_pipelines/keras2onnx_unit_test.yml index 8e1dcda18..efc47f0d9 100644 --- a/ci_build/azure_pipelines/keras2onnx_unit_test.yml +++ b/ci_build/azure_pipelines/keras2onnx_unit_test.yml @@ -11,63 +11,63 @@ jobs: ############ TF Keras Unit Tests ############ Python36-tf1.15: python.version: '3.6' - ONNX_PATH: onnx==1.5.0 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow==1.15.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Python37-tf2.1: python.version: '3.7' - ONNX_PATH: onnx==1.6.0 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow-cpu==2.1.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Python38-tf2.2: python.version: '3.8' - ONNX_PATH: onnx==1.7.0 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow-cpu==2.2.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Python38-tf2.3: python.version: '3.8' - ONNX_PATH: onnx==1.8.0 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow-cpu==2.3.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Python38-tf2.5: python.version: '3.8' - ONNX_PATH: onnx==1.8.0 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow-cpu==2.5.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 ############ Pure Keras Unit Tests ############ Keras-Py36-tf1.15.0: python.version: '3.6' - ONNX_PATH: onnx==1.5.0 + ONNX_PATH: onnx==1.10.1 KERAS: keras==2.2.5 TENSORFLOW_PATH: tensorflow==1.15.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Keras-Py37-tf1.15.0: python.version: '3.7' - ONNX_PATH: onnx==1.9.0 + ONNX_PATH: onnx==1.10.1 KERAS: keras==2.4.3 TENSORFLOW_PATH: tensorflow==1.15.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 # UT for keras 2.3 need tensorflow <= 2.0.0 Keras-Py37-tf2.0.0: python.version: '3.7' - ONNX_PATH: onnx==1.6.0 + ONNX_PATH: onnx==1.10.1 KERAS: keras==2.3.1 TENSORFLOW_PATH: tensorflow==2.0.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Keras-Py38-tf2.2.0: python.version: '3.8' - ONNX_PATH: onnx==1.7.0 + ONNX_PATH: onnx==1.10.1 KERAS: keras==2.4.3 TENSORFLOW_PATH: tensorflow==2.2.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 steps: - template: 'templates/keras2onnx_unit_test.yml' @@ -80,63 +80,57 @@ jobs: strategy: matrix: ############ TF Keras Unit Tests ############ - Python36-onnx1.2: + Python36-tf-1.15: python.version: '3.6' - ONNX_PATH: onnx==1.2.3 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow==1.15.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 - - Python36-onnx1.5: - python.version: '3.6' - ONNX_PATH: onnx==1.5.0 - TENSORFLOW_PATH: tensorflow==1.15.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Python37-tf2.1: python.version: '3.7' - ONNX_PATH: onnx==1.6.0 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow-cpu==2.1.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Python37-tf2.2: python.version: '3.7' - ONNX_PATH: onnx==1.7.0 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow-cpu==2.2.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Python37-tf2.3: python.version: '3.7' - ONNX_PATH: onnx==1.9.0 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow-cpu==2.3.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Python37-tf2.5: python.version: '3.7' - ONNX_PATH: onnx==1.9.0 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow-cpu==2.5.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 ############ Pure Keras Unit Tests ############ Keras-Py36-tf1.15.0: python.version: '3.6' - ONNX_PATH: onnx==1.5.0 + ONNX_PATH: onnx==1.10.1 KERAS: keras==2.2.5 TENSORFLOW_PATH: tensorflow==1.15.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Keras-Py37-tf2.0.0: python.version: '3.7' - ONNX_PATH: onnx==1.7.0 + ONNX_PATH: onnx==1.10.1 KERAS: keras==2.3.1 TENSORFLOW_PATH: tensorflow==2.0.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Keras-Py37-tf2.2.0: python.version: '3.7' - ONNX_PATH: onnx==1.9.0 + ONNX_PATH: onnx==1.10.1 KERAS: keras==2.4.3 TENSORFLOW_PATH: tensorflow==2.2.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 steps: - template: 'templates/keras2onnx_unit_test.yml' diff --git a/ci_build/azure_pipelines/templates/job_generator.yml b/ci_build/azure_pipelines/templates/job_generator.yml index 3fefe6a42..910171a6f 100644 --- a/ci_build/azure_pipelines/templates/job_generator.yml +++ b/ci_build/azure_pipelines/templates/job_generator.yml @@ -5,8 +5,8 @@ parameters: python_versions: ['3.7'] tf_versions: [''] onnx_versions: [''] - onnx_opsets: ['14', '13', '12', '11', '10', '9', '8'] - onnx_backends: {onnxruntime: ['1.8.0']} + onnx_opsets: ['15', '14', '13', '12', '11', '10', '9'] + onnx_backends: {onnxruntime: ['1.9.0']} job: {} run_setup: 'True' report_coverage: 'False' diff --git a/ci_build/azure_pipelines/trimmed_keras2onnx_unit_test.yml b/ci_build/azure_pipelines/trimmed_keras2onnx_unit_test.yml index e34d7239f..9f53bf7dc 100644 --- a/ci_build/azure_pipelines/trimmed_keras2onnx_unit_test.yml +++ b/ci_build/azure_pipelines/trimmed_keras2onnx_unit_test.yml @@ -11,31 +11,31 @@ jobs: ############ TF Keras Unit Tests ############ Python36-tf1.15: python.version: '3.6' - ONNX_PATH: onnx==1.5.0 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow==1.15.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Python38-tf2.5: python.version: '3.8' - ONNX_PATH: onnx==1.8.0 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow-cpu==2.5.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 ############ Pure Keras Unit Tests ############ Keras-Py37-tf1.15.0: python.version: '3.7' - ONNX_PATH: onnx==1.9.0 + ONNX_PATH: onnx==1.10.1 KERAS: keras==2.4.3 TENSORFLOW_PATH: tensorflow==1.15.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 # UT for keras 2.3 need tensorflow <= 2.0.0 Keras-Py37-tf2.0.0: python.version: '3.7' - ONNX_PATH: onnx==1.6.0 + ONNX_PATH: onnx==1.10.1 KERAS: keras==2.3.1 TENSORFLOW_PATH: tensorflow==2.0.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 steps: - template: 'templates/keras2onnx_unit_test.yml' @@ -48,25 +48,25 @@ jobs: strategy: matrix: ############ TF Keras Unit Tests ############ - Python36-onnx1.2: + Python36-tf-1.15: python.version: '3.6' - ONNX_PATH: onnx==1.2.3 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow==1.15.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 Python37-tf2.3: python.version: '3.7' - ONNX_PATH: onnx==1.9.0 + ONNX_PATH: onnx==1.10.1 TENSORFLOW_PATH: tensorflow-cpu==2.3.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 ############ Pure Keras Unit Tests ############ Keras-Py37-tf2.2.0: python.version: '3.7' - ONNX_PATH: onnx==1.9.0 + ONNX_PATH: onnx==1.10.1 KERAS: keras==2.4.3 TENSORFLOW_PATH: tensorflow==2.2.0 - INSTALL_ORT: pip install onnxruntime==1.8.0 + INSTALL_ORT: pip install onnxruntime==1.9.0 steps: - template: 'templates/keras2onnx_unit_test.yml' diff --git a/tests/run_pretrained_models.yaml b/tests/run_pretrained_models.yaml index e12a2f399..41f16bd79 100644 --- a/tests/run_pretrained_models.yaml +++ b/tests/run_pretrained_models.yaml @@ -326,6 +326,7 @@ ssd_mobilenet_v3_large_coco: opset_constraints: "onnx": "min": 10 + "max": 14 # FIXME, temorary until onnx-1.10.2 is out input_get: get_beach inputs: "normalized_input_image_tensor:0": [1, 320, 320, 3] @@ -420,6 +421,7 @@ faster_rcnn_inception_v2_coco: opset_constraints: "onnx": "min": 11 + "max": 14 # FIXME: temporary until onnx-1.10.2 is out input_get: get_beach inputs: "image_tensor:0": [1, 224, 224, 3] diff --git a/tf2onnx/constants.py b/tf2onnx/constants.py index c03b2bc11..c3015d4a2 100644 --- a/tf2onnx/constants.py +++ b/tf2onnx/constants.py @@ -48,5 +48,5 @@ # Mapping opset to IR version. # Note: opset 7 and opset 8 came out with IR3 but we need IR4 because of PlaceholderWithDefault OPSET_TO_IR_VERSION = { - 1: 3, 2: 3, 3: 3, 4: 3, 5: 3, 6: 3, 7: 4, 8: 4, 9: 4, 10: 5, 11: 6, 12: 7, 13: 7, 14: 7 + 1: 3, 2: 3, 3: 3, 4: 3, 5: 3, 6: 3, 7: 4, 8: 4, 9: 4, 10: 5, 11: 6, 12: 7, 13: 7, 14: 7, 15: 8 }