ONNX Runtime 兼容性
目录
向后兼容性
较新版本的 ONNX Runtime 支持所有在先前版本中工作的模型,因此更新不应破坏集成。
环境兼容性
ONNX Runtime 没有针对环境和依赖项的每种变体/组合进行显式测试,因此此列表并非详尽无遗。请将其用作起始参考。 对于具体问题或请求,请在 GitHub 上提交 issue。
平台
-
Windows
- 在 Windows 10 和 Windows Server 2019 上测试
- 可能兼容 Windows 7+
- Windows 机器学习 (Windows)
- CPU:Windows 8.1+
- GPU:Windows 10 1709+
- Linux
- 在 CentOS 7 上测试
- 应兼容 .NET Core 支持的发行版
- Mac
- 在 10.14 (Mojave) 上测试
- 可能兼容 10.12+ (Sierra)
- Android
- 在 API 级别 28 (v9 “Pie”) 上测试
- 可能兼容 API 级别 21+ (v5 “Lollipop”)
- iOS
- 在 iOS 12 上测试
- 可能兼容任何 64 位 iOS 版本 (5S+)
编译器
- Windows 10:Visual C++ 2019
- Linux:gcc>=4.8
依赖库
ONNX opset 支持
ONNX Runtime 支持来自 ONNX 规范最新发布版本的所有 opset。所有版本的 ONNX Runtime 都支持来自 ONNX v1.2.1+(opset 版本 7 及更高版本)的 ONNX opset。
-
例如:如果 ONNX Runtime 版本实现了 ONNX opset 9,它可以运行盖有 [7-9] 范围内 ONNX opset 版本戳记的模型。
-
- 当前 ONNX 规范中不支持的运算符可能作为 Contrib 运算符提供
- 如何添加自定义运算符/内核
ONNX Runtime 版本 | ONNX 版本 | ONNX opset 版本 | ONNX ML opset 版本 | ONNX IR 版本 |
---|---|---|---|---|
1.20 | 1.16.1 | 21 | 4 | 10 |
1.19 | 1.16.1 | 21 | 4 | 10 |
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 |
除非另有说明,否则请使用最新发布的工具版本来转换/导出 ONNX 模型。大多数工具都向后兼容并支持多个 ONNX 版本。 将此与上表结合使用,以评估 ONNX Runtime 兼容性。
工具 | 推荐版本 |
---|---|
PyTorch | 最新稳定版 |
Tensorflow-ONNX | 最新稳定版 |
ONNXMLTools CatBoost, CoreML, LightGBM, XGBoost, LibSVM, SparkML | 最新稳定版 |
SKLearn-ONNX | 最新稳定版 |
WinMLTools | 最新稳定版 |
AzureML AutoML | 1.0.39+ (ONNX v1.5) 1.0.33 (ONNX v1.4) |
Paddle2ONNX | 最新稳定版 |