ONNX Runtime compatibility
Contents
Backwards compatibility
Newer versions of ONNX Runtime support all models that worked with prior versions, so updates should not break integrations.
Environment compatibility
ONNX Runtime is not explicitly tested with every variation/combination of environments and dependencies, so this list is not comprehensive. Please use this as starting reference. For specific questions or requests, please file an issue on GitHub.
Platforms
-
Windows
- Tested with Windows 10 and Windows Server 2019
- May be compatible with Windows 7+
- Windows Machine Learning (Windows)
- CPU: Windows 8.1+
- GPU: Windows 10 1709+
- Linux
- Tested with CentOS 7
- Should be compatible with distributions supported by .NET Core
- Mac
- Tested with 10.14 (Mojave)
- May be compatible with 10.12+ (Sierra)
- Android
- Tested with API level 28 (v9 “Pie”)
- May be compatible with API level 21+ (v5 “Lollipop”)
- iOS
- Tested with iOS 12
- May be compatible with any 64bit iOS version (5S+)
Compilers
- Windows 10: Visual C++ 2019
- Linux: gcc>=4.8
Dependent Libraries
- Submodules
- See the Execution Provider page for details on specific hardware libary version requirements
ONNX opset support
ONNX Runtime supports all opsets from the latest released version of the ONNX spec. All versions of ONNX Runtime support ONNX opsets from ONNX v1.2.1+ (opset version 7 and higher).
-
For example: if an ONNX Runtime release implements ONNX opset 9, it can run models stamped with ONNX opset versions in the range [7-9].
-
- Operators not supported in the current ONNX spec may be available as a Contrib Operator
- How to add a custom operator/kernel
ONNX Runtime version | ONNX version | ONNX opset version | ONNX ML opset version | ONNX IR version |
---|---|---|---|---|
1.18 | 1.16 | 21 | 4 | 10 |
1.17 | 1.15 | 20 | 4 | 9 |
1.16 | 1.14.1 | 19 | 3 | 9 |
1.15 | 1.14 | 19 | 3 | 8 |
1.14 | 1.13 | 18 | 3 | 8 |
1.13 | 1.12 | 17 | 3 | 8 |
1.12 | 1.12 | 17 | 3 | 8 |
1.11 | 1.11 | 16 | 2 | 8 |
1.10 | 1.10 | 15 | 2 | 8 |
1.9 | 1.10 | 15 | 2 | 8 |
1.8 | 1.9 | 14 | 2 | 7 |
1.7 | 1.8 | 13 | 2 | 7 |
1.6 | 1.8 | 13 | 2 | 7 |
1.5 | 1.7 | 12 | 2 | 7 |
1.4 | 1.7 | 12 | 2 | 7 |
1.3 | 1.7 | 12 | 2 | 7 |
1.2 1.1 | 1.6 | 11 | 2 | 6 |
1.0 | 1.6 | 11 | 2 | 6 |
0.5 | 1.5 | 10 | 1 | 5 |
0.4 | 1.5 | 10 | 1 | 5 |
0.3 | 1.4 | 9 | 1 | 3 |
0.2 | 1.3 | 8 | 1 | 3 |
0.1 | 1.3 | 8 | 1 | 3 |
Unless otherwise noted, please use the latest released version of the tools to convert/export the ONNX model. Most tools are backwards compatible and support multiple ONNX versions. Join this with the table above to evaluate ONNX Runtime compatibility.
Tool | Recommended Version |
---|---|
PyTorch | Latest stable |
Tensorflow-ONNX | Latest stable |
ONNXMLTools CatBoost, CoreML, LightGBM, XGBoost, LibSVM, SparkML | Latest stable |
SKLearn-ONNX | Latest stable |
WinMLTools | Latest stable |
AzureML AutoML | 1.0.39+ (ONNX v1.5) 1.0.33 (ONNX v1.4) |
Paddle2ONNX | Latest stable |