Paddle2ONNX 项目介绍
Paddle2ONNX 是一个能够将 PaddlePaddle 模型格式转换为 ONNX 模型格式的工具。通过使用 ONNX 格式,开发人员可以将 Paddle 模型部署到多种推理引擎中,比如 TensorRT、OpenVINO、MNN、TNN、NCNN,以及其他支持 ONNX 格式的开源推理引擎或者硬件设备。
环境依赖
Paddle2ONNX 本身不需要依赖其他组件,但建议在以下环境下使用:
- PaddlePaddle 版本需为 2.6.0
- onnxruntime 版本需为 1.10.0 或更高
如何安装
如果您的目标是单纯安装 Paddle2ONNX 而不进行二次开发,可以通过以下命令快速安装:
pip install paddle2onnx
对于有二次开发需求的用户,可按照 GitHub 上的源码编译进行安装。
快速使用指南
获取PaddlePaddle部署模型
在使用 Paddle2ONNX 导出模型时,需要提供部署模型格式,即两个文件:
model_name.pdmodel
: 描述模型结构的文件model_name.pdiparams
: 包含模型参数的文件
调整Paddle模型
若需调整 Paddle 模型的输入输出,可参考相关工具的教程以获取指导。
使用命令行转换模型
用户可以通过命令行将 Paddle 模型转换为 ONNX 模型,示例如下:
paddle2onnx --model_dir model_dir \
--model_filename inference.pdmodel \
--params_filename inference.pdiparams \
--save_file model.onnx
可调整的命令行参数包括:
--model_dir
: 配置存储 Paddle 模型的目录路径--model_filename
: 可以选择配置的网络结构文件名--params_filename
: 可以选择配置的模型参数文件名--save_file
: 指定转换后模型的保存路径- 其他参数如
--opset_version
、--enable_onnx_checker
、--export_fp16_model
等用于更加细致的配置。
裁剪和优化ONNX
若需调整 ONNX 模型,可以使用特定工具来裁剪;如果需要优化导出的 ONNX 模型,建议使用 onnxslim
,操作如下:
pip install onnxslim
onnxslim model.onnx slim.onnx
代码贡献
Paddle2ONNX 依靠开发者社区的共同努力来不断发展,开发者可以通过贡献指南来参与项目。
感谢
我们向 PaddlePaddle 团队表示感谢,他们为 Paddle2ONNX 的 CI 建设提供了服务器支持。此外,感谢多位社区用户慷慨捐赠资金以支持项目的发展。通过各方的共同努力,Paddle2ONNX 将不断完善,服务更多开发者。