简介
Paddle2ONNX 支持将 PaddlePaddle 模型格式转化到 ONNX 模型格式。通过 ONNX 可以完成将 Paddle 模型到多种推理引擎的部署,包括 TensorRT/OpenVINO/MNN/TNN/NCNN,以及其它对 ONNX 开源格式进行支持的推理引擎或硬件。
步骤
1.环境依赖
PaddlePaddle == 2.6.0
onnxruntime >= 1.10.0
2.安装
针对PaddlePaddle2.5.2的用户可以直接运行以下命令行代码来安装P2O
pip install paddle2onnx
由于没有自动发包机制,针对PaddlePaddle2.6.0的用户,请按照Github 源码安装方式编译Paddle2ONNX。
3.获取PaddlePaddle部署模型
Paddle2ONNX 在导出模型时,需要传入部署模型格式,包括两个文件
model_name.pdmodel: 表示模型结构
model_name.pdiparams: 表示模型参数 [注意] 这里需要注意,两个文件其中参数文件后辍为 .pdiparams,如你的参数文件后辍是 .pdparams ,那说明你的参数是训练过程中保存的,当前还不是部署模型格式。 部署模型的导出可以参照各个模型套件的导出模型文档。
4.命令行转换
使用如下命令将Paddle模型转换为ONNX模型
paddle2onnx --model_dir saved_inference_model \
--model_filename model.pdmodel \
--params_filename model.pdiparams \
--save_file model.onnx
可调整的转换参数见:Paddle2ONNX
5.之后的模型转化
见我另外的博文onnx转化ncnn实现过程,对onnx进行进一步的优化simplifier,以及转化。