Paddle2ONNX

PaddlePaddleApache-2.0更新放缓

把 PaddlePaddle 训练好的模型导出成 ONNX 格式,方便用 ONNX Runtime 等推理引擎部署,覆盖分类、检测、OCR 等模型。

ONNX Model Exporter for PaddlePaddle

v2.1.0发布于 2026-01-12 02:14 UTC950star196fork同步于 2026-11-07 07:30 UTC

怎么上手

由 README 提炼,执行前请确认
pip install paddle2onnx
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

把 PaddlePaddle 模型转成 ONNX,方便部署到 TensorRT、OpenVINO、MNN 等推理引擎

把 PaddlePaddle 训练好的模型导出成 ONNX 格式,方便用 ONNX Runtime 等推理引擎部署,覆盖分类、检测、OCR 等模型。

核心能力

  • 将 Paddle 部署模型(json+pdiparams)导出为 ONNX 格式
  • 支持 opset 7~19,默认 9 并可自动升级版本
  • 导出时默认开启 ONNX 正确性检查
  • 可选拆解组合算子、用 onnxoptimizer 等工具优化
  • 推荐配合 onnxslim 进一步精简 ONNX 模型

容易踩的坑

依赖 PaddlePaddle 3.0.0 和 onnxruntime >= 1.10.0,版本不匹配会出问题;转换前需准备 json 结构和 pdiparams 参数两个部署模型文件,普通训练权重不行;低版本 opset 转换失败时需依赖自动升级或手动指定更高 opset

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.1.0
  1. v2.1.0最新正式版2026-01-12 · 2026-01-12 02:14 UTC

    What's Changed

    New Contributors

    Full Changelog: https://github.com/PaddlePaddle/Paddle2ONNX/compare/v2.0.1...v2.1.0

  2. v2.0.2rc3Paddle2ONNX v2.0.2rc3pre-release2025-05-27 · 2025-05-27 03:52 UTC
    查看更新说明
  3. v2.0.2rc2Paddle2ONNX v2.0.2rc2pre-release2025-05-22 · 2025-05-22 11:13 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/PaddlePaddle/Paddle2ONNX/compare/v2.0.2rc1...v2.0.2rc2

  4. v2.0.2rc1Paddle2ONNX v2.0.2rc1pre-release2025-04-27 · 2025-04-27 13:39 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/PaddlePaddle/Paddle2ONNX/compare/v2.0.1...v2.0.2rc1

  5. v2.0.1Paddle2ONNX v2.0.12025-04-18 · 2025-04-18 06:11 UTC
    查看更新说明

    What's Changed

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Paddle2ONNX

    简体中文 | English

    1 Paddle2ONNX 简介

    Paddle2ONNX 支持将 PaddlePaddle 模型格式转化到 ONNX 模型格式。通过 ONNX 可以完成将 Paddle 模型到多种推理引擎的部署,包括 TensorRT/OpenVINO/MNN/TNN/NCNN,以及其它对 ONNX 开源格式进行支持的推理引擎或硬件。

    2 Paddle2ONNX 环境依赖

    Paddle2ONNX 依赖PaddlePaddle3.0,我们建议您在以下环境下使用 Paddle2ONNX :

    • PaddlePaddle == 3.0.0
    • onnxruntime >= 1.10.0

    3 安装 Paddle2ONNX

    如果您只是想要安装 Paddle2ONNX 且没有二次开发的需求,你可以通过执行以下代码来快速安装 Paddle2ONNX

    pip install paddle2onnx
    

    如果你希望对 Paddle2ONNX 进行二次开发,请按照Github 源码安装方式编译Paddle2ONNX。

    4 快速使用教程

    4.1 获取PaddlePaddle部署模型

    Paddle2ONNX 在导出模型时,需要传入部署模型格式,包括两个文件

    • model_name.json: 表示模型结构
    • model_name.pdiparams: 表示模型参数

    4.2 调整Paddle模型

    如果对Paddle模型的输入输出需要做调整,可以前往Paddle 相关工具查看教程。

    4.3 使用命令行转换 PaddlePaddle 模型

    你可以通过使用命令行并通过以下命令将Paddle模型转换为ONNX模型

    paddle2onnx --model_dir model_dir \
                --model_filename model.json \
                --params_filename model.pdiparams \
                --save_file model.onnx
    

    可调整的转换参数如下表:

    参数参数说明
    --model_dir配置包含 Paddle 模型的目录路径
    --model_filename[可选] 配置位于 --model_dir 下存储网络结构的文件名
    --params_filename[可选] 配置位于 --model_dir 下存储模型参数的文件名
    --save_file指定转换后的模型保存目录路径
    --opset_version[可选] 配置转换为ONNX的OpSet版本,目前支持7~19等多个版本,默认为 9
    --enable_auto_update_opset[可选] 是否开启opset version自动升级功能,当低版本opset无法转换时,自动选择更高版本的opset进行转换, 默认为 True
    --enable_onnx_checker[可选] 配置是否检查导出为 ONNX 模型的正确性, 建议打开此开关, 默认为 True
    --enable_dist_prim_all[可选] 是否开启组合算子拆解,默为 False
    --optimize_tool[可选] ONNX模型优化工具,可选择onnxoptimizer、polygraphy、None, 默认为 onnxoptimizer
    --enable_verbose[可选] 是否打印更更详细的日志信息,默认为 False
    --version[可选] 查看 paddle2onnx 版本

    4.4 裁剪ONNX

    如果你需要调整 ONNX 模型,请参考 ONNX 相关工具

    4.5 优化ONNX

    如你对导出的 ONNX 模型有优化的需求,推荐使用 onnxslim 对模型进行优化:

    pip install onnxslim
    onnxslim model.onnx slim.onnx
    

    5 代码贡献

    繁荣的生态需要大家的携手共建,开发者可以参考 Paddle2ONNX 贡献指南 来为 Paddle2ONNX 贡献代码。

    6 License

    Provided under the Apache-2.0 license.

    7 感谢捐赠

    • 感谢 PaddlePaddle 团队提供服务器支持 Paddle2ONNX 的 CI 建设。
    • 感谢社区用户 chenwhql, luotao1, goocody, jeff41404, jzhang553, ZhengBicheng 于2024年03月28日向 Paddle2ONNX PMC 捐赠共 10000 元人名币用于 Paddle2ONNX 的发展。