Skip to main content

Export PaddlePaddle to ONNX

Project description

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
--enable_optimization [可选] 是否开启模型优化,默认为 True
--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 的发展。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

paddle2onnx-2.0.1a1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

paddle2onnx-2.0.1a1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

paddle2onnx-2.0.1a1-cp312-cp312-macosx_12_0_universal2.whl (3.1 MB view details)

Uploaded CPython 3.12macOS 12.0+ universal2 (ARM64, x86-64)

paddle2onnx-2.0.1a1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

paddle2onnx-2.0.1a1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

paddle2onnx-2.0.1a1-cp311-cp311-macosx_12_0_universal2.whl (3.1 MB view details)

Uploaded CPython 3.11macOS 12.0+ universal2 (ARM64, x86-64)

paddle2onnx-2.0.1a1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

paddle2onnx-2.0.1a1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

paddle2onnx-2.0.1a1-cp310-cp310-macosx_12_0_universal2.whl (3.1 MB view details)

Uploaded CPython 3.10macOS 12.0+ universal2 (ARM64, x86-64)

paddle2onnx-2.0.1a1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

paddle2onnx-2.0.1a1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

paddle2onnx-2.0.1a1-cp39-cp39-macosx_12_0_universal2.whl (3.1 MB view details)

Uploaded CPython 3.9macOS 12.0+ universal2 (ARM64, x86-64)

paddle2onnx-2.0.1a1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

paddle2onnx-2.0.1a1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

paddle2onnx-2.0.1a1-cp38-cp38-macosx_12_0_universal2.whl (3.1 MB view details)

Uploaded CPython 3.8macOS 12.0+ universal2 (ARM64, x86-64)

File details

Details for the file paddle2onnx-2.0.1a1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8b5b73aaef18817dd2761a56ca25bccf5f37f361d34972520c07d2e8f348988b
MD5 0123465ed1ade86b8e84c79da980e9f0
BLAKE2b-256 54a9f024fd41b5e3bbbd51f2953c1f710e47bcb85b91ef35b353b3fe24a558b8

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0bb0f1fbeb12311432a0d929e0ae3c829a227979f6506b2c51024641130371b4
MD5 1b68f48e7369902ba4e6dd7072220809
BLAKE2b-256 97e84cb040897d9e8525a3b04bbc4d1910647b466b65b4b2e28e3577a337e22d

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp312-cp312-macosx_12_0_universal2.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp312-cp312-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 b4cf33c5832619941063795689c80dcc6279d1193f00ef13cf8bbd2cbbd87d6e
MD5 12026dda9d4215459e600c9e32555356
BLAKE2b-256 6299115cb56b8075c63cd37b824f5a09a13ded2ff43721b0c2cad745d7a58a39

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1f0626703b9c97bdb17a991fa5aa630fa176c2b6d757fba93d9187cf16f976fd
MD5 ca3324953fc5fd7386a9c03b5910b797
BLAKE2b-256 f52c3f85a109e32e75889fcbe930fb4462330c1a84661dee55f299836ef7f03e

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a4ce62af2ec4707785fdfd74c5ed66162c970682dc48bfae575ec88fa7a09207
MD5 5fb4a1ddbf34a4ec92b71baa62951b3e
BLAKE2b-256 eef9ee4d7d1e66626beb9ca1919bba91ee82e1fdeca0a7e189a645599e84bf16

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp311-cp311-macosx_12_0_universal2.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp311-cp311-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 3ca6414a221dcb4eb1c5b09dd58d7c4a9778bfa2e59425c75ea6b5eb1a9d5980
MD5 796df28bcd6664649bd282d225386ded
BLAKE2b-256 f5261b8aa59c21600a9057d3e8cc5fa06b3be9ad46591a93c201a9860eea2cea

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c361f3ba324c94363f6b51168105554777502da4ef17bc8846d4f331e8f22810
MD5 856d9b346fa26c04bd81276e0bb6ea99
BLAKE2b-256 448973f3a9529dde7f91c8f32532fcb43684acf78b71edb70fb82af602d7101c

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3f06982e0e289059168622eaab5461ae2ba6333286986ad25a139bd2a94f908c
MD5 cf689f26170af7d1907b6b86cf0947e5
BLAKE2b-256 d0df224278122fa9c58e24b2b453424ee9c8864d5a8f70736ac54d4d50b3a080

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp310-cp310-macosx_12_0_universal2.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp310-cp310-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 5c4af67aa535f087401f185864bb91e9a6f56365f870db7ed7694a2bdc5c7360
MD5 d0641eed19652ab4602516519dfee762
BLAKE2b-256 58dd20a6f21d07dac2d775cbe61bee34222f83fcc0a80c37814c636717086868

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3fbca409b18e5196b80ebab43c9dd2180c23ccaff677573f70d2dd980f776577
MD5 479fbebbbb9bb30e9ebb0cf0bfed42ae
BLAKE2b-256 5e8ec283040fca43a1ccdf16e0aa04e1ac97d54c0bae1a678c1d0ef886dae05b

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f462aa753b27c4233f1a19f46a6093b8d550cc3bf288f5a8868f57f0a13b1905
MD5 07f1550672228236b7fe5f454a8cd9b2
BLAKE2b-256 e84c159a483285be9522c49249b743c8918dda444f7dbd63c35ebedace920c0d

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp39-cp39-macosx_12_0_universal2.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp39-cp39-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 a26152141a766972b1e1dcae62b34aa6ecf3c047f260dc8dfcab6736b5de7592
MD5 e1a3e983e079cf6fb6d8c3514bffd9e7
BLAKE2b-256 afe2d283baf3d8b608033453c7eb127eb01b1c4f65f941190460ca0085f467a4

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 232c26e94f0672f47de474e73edb66df756f728277efa1efb603114f5df9e7d3
MD5 0aff389a1fe93f39958cb26ba4ebfa0c
BLAKE2b-256 62ce37814afc5c4c9f873b456fcde4d327cd437258803ff4a84178a392e3015d

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ea32f5fe690813cef43f497eea595d2323b9060cc1318f272099fdbebbaef8b0
MD5 d61a96518c617bfeb20d7bee300cd591
BLAKE2b-256 ffca27649f27da4ae84c897db72aaf7f8ef0dbde1fdce556a1408194c27df6ea

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.1a1-cp38-cp38-macosx_12_0_universal2.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1a1-cp38-cp38-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 19921e84f8158b9cb44c6ba05de49cabe366372d4d2831ba28babcfdc46bbb25
MD5 e41833896cf6751744ded16c92680d3e
BLAKE2b-256 c7cc5b5b8dc99e8f8bfa78cecd2f182ac8a3f54c1a4becaa815e059139726228

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page