6.3.1. 浮点模型准备¶
在您阅读本节内容前,我们建议您先阅读我们的 工具链算子支持约束列表 章节, 对地瓜机器人支持的算子及约束条件进行了解。 或在您导出 ONNX 模型后,可以先参考 验证模型 章节的内容, 验证模型是否能被地瓜机器人支持完成正常转换部署。
基于公开 DL 框架训练得到的浮点模型是转换工具的输入,目前转换工具支持的 DL 框架如下:
框架 |
地瓜机器人工具链 |
|---|---|
Caffe |
支持 |
PyTorch |
支持(转 ONNX) |
TensorFlow |
支持(转 ONNX) |
PaddlePaddle |
支持(转 ONNX) |
MXNet |
支持(转 ONNX) |
其他框架 |
请联系地瓜机器人 |
以上框架中,Caffe 导出的 caffemodel 是直接支持的,PyTorch、TensorFlow 和 MXNet 是通过转到 ONNX 实现间接支持,ONNX 目前主要支持的 opset 版本是 opset10 和 opset11。
对于不同框架到 ONNX 的转换,目前都有对应的标准化方案,参考如下:
- 🔗 Pytorch2Onnx:PytTorch 官方 API 支持直接将模型导出为 ONNX 模型,参考链接:
https://pytorch.org/tutorials/advanced/super_resolution_with_onnxruntime.html。
- 🔗 Tensorflow2Onnx:基于 ONNX 社区的
onnx/tensorflow-onnx进行转换,参考链接: - 🔗 PaddlePaddle2Onnx:PaddlePaddle 官方 API 支持直接将模型导出为 ONNX 模型,参考链接:
https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/onnx/export_cn.html。
- 🔗 MXNet2Onnx:MXNet 官方 API 支持直接将模型导出为 ONNX 模型,参考链接:
https://github.com/dotnet/machinelearning/blob/master/test/Microsoft.ML.Tests/OnnxConversionTest.cs。
- 🔗 更多框架的 ONNX 转换支持,参考链接:
https://github.com/onnx/tutorials#converting-to-onnx-format。
注意
原始模型限制:ir_version≤7, opset=10 或 11,ir_version 与 onnx 版本的对应关系请参考 onnx 官方文档 。