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
--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 的发展。

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.2rc3-cp312-cp312-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.12Windows x86-64

paddle2onnx-2.0.2rc3-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.2rc3-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.2rc3-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.2rc3-cp311-cp311-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.11Windows x86-64

paddle2onnx-2.0.2rc3-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.2rc3-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.2rc3-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.2rc3-cp310-cp310-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.10Windows x86-64

paddle2onnx-2.0.2rc3-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.2rc3-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.2rc3-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.2rc3-cp39-cp39-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.9Windows x86-64

paddle2onnx-2.0.2rc3-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.2rc3-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.2rc3-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.2rc3-cp38-cp38-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.8Windows x86-64

paddle2onnx-2.0.2rc3-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.2rc3-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.2rc3-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.2rc3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a76c241ea8102991b97061cad55b3e524ba01225a4c1f2031472b782df9f2562
MD5 565f1768bba025e407277359b16e81fb
BLAKE2b-256 59a4f537947839d859de5cfa72469b2060a970751cf2dda5d5c99653ac3ff0a8

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e1b4b7e3a2a2c7cb0132e82c74488d981d3df270da90ff8dd234c4953d17af2d
MD5 89ff410ed6b93cba29f92ee4cd392971
BLAKE2b-256 950f229052c8a6ea81c91a23429031bf741d0fa04d64b70bcda91e0c30e2dfae

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5b182abbb8fbf42831f5f3431b66da45312b528728ae5846469464d28ebe301d
MD5 6a9c5052a4a66ef7206cd9c99e29f4e8
BLAKE2b-256 e2411e1ca0c1f3adb3e110b9785d4b2bec110458760fcb7f1383fda5fa54f5a6

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp312-cp312-macosx_12_0_universal2.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp312-cp312-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 3c23490505ac9a538d2378d514706c6e277fd5526ff9c630677ef7b8238df3d4
MD5 a937f78d4381e7fa48ab5def28c119e5
BLAKE2b-256 80001394fdc5217d71febd3d167c7f75cb7cf9542ebe7d6953af4eaf14bdadd3

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ed678cd40d14efdec30af46c01962a4ccbf8017ebb35ec01b4a9b6e2ceb24077
MD5 e48f5796b4d96c9658cc9598717c5841
BLAKE2b-256 0dc79437ee4c8ad78106b8d410c8eac91cdc49e0c25bcc0fb7042b5c8622c62d

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fe5d6b1bd4c6d7fe141a8a938de30b784e893ebbedf956abdc5eece3a02a1ecd
MD5 7196eb3138723d72a57c85bdad46352b
BLAKE2b-256 54647a26251ae4403a663a63f83c55bcd5ad51606bfffbf124c7da4f4b8ef31a

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f7e41bde84e098d4dd6af2e627a8c3cafe823990f99bfc64f5dd154b8f9c4ae7
MD5 8420702980213feefae0102b5a205351
BLAKE2b-256 86b4e7e48ad648d3211dc94ad19818383aa4ce40dbc290178ecc9e2f8ba7cfd0

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp311-cp311-macosx_12_0_universal2.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp311-cp311-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 246d16b9957ab08a9767952f859cab85b59bfbd4272b5ff78e4f69fd391b50e3
MD5 d8ed9474387e779d99014ba78f62f6e3
BLAKE2b-256 7c02cfa40de37008c7db237edc25999836ecda97d177444db62dc6350d9fe09b

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6beb6ce445867dce1ad6648e016c452d09489ece5f2b4dbedc5a15f44f62d889
MD5 5609713506cf3d1cd7f5b1b11ff36488
BLAKE2b-256 813d754cee92d36480672edc0877679e52f2c767941cfb9b6789f3f40f3da8ee

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 33df0989c150be486643803248f40e8eb2346d518e00a3f63dd38e1ecc82a87d
MD5 147be607e97406f2d6140433bf5c82bc
BLAKE2b-256 9bbbcb8b463531c2317212f9f82a57c1656845c147920d822634c477dffee771

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3b0f8ce7e18c263bbc2b6a956d8eceb73b03c6d512a9f5821f18e12273b46369
MD5 306718e512f9ac4780f70b8b221a499d
BLAKE2b-256 9bf46eb08152521658d403563d2e923ecde8907768676457bc12eb737c44fca8

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp310-cp310-macosx_12_0_universal2.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp310-cp310-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 61b2336ec7261863a88cb03ab0ddda3979a5e67732e73cbe7e9b89700946eeb1
MD5 c71a1032dd6626cc580b6ccc425de3f4
BLAKE2b-256 dda739c6c86839d694c8455ae61ac349a1703bef72fb24c2d06749565e246833

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 612e23a25bae5a7d3fa65fd4701ab4a6c059921356b6de4b349643cbd519c156
MD5 6f00bbf2678e4faf305fbf55c40a3ee0
BLAKE2b-256 6945c461b5e80c08803ac2f24cad3b01b6b6b21af0550924f75fa06c6d500301

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 165169e133b1c3b36fc03f4fbaef664bb0540980d5b6beeb745eb0c88d32ddc9
MD5 7280341da3012648004d6b9c4d2b9fc3
BLAKE2b-256 74d700eb62236c1543d7d2ac7b7e2e685ffafc783249bf3e0f8abffb0c555f54

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 38a519b2560179d83b30f864906095e9584ccaa971f268a859ff8566c141f282
MD5 9d2c00a822be2406ac4931b196a6141c
BLAKE2b-256 345c61fc89031bc32a28d7d0afe9b8c729a2656258858b414b3c5add47cd7c95

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp39-cp39-macosx_12_0_universal2.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp39-cp39-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 8158c4818bc79641322d415a0c9c6d14edcadb8f40ecfbe31dc0db93cce290a0
MD5 2d99d7be60df7c29395324e4b6b7bf4f
BLAKE2b-256 8d3748195e51e27f41861f559ddca4a9e7e53f06bc4465b0d1cb166cb10befa3

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7dec2fe83ab90bd69d99fb0af1976759331f7df682aff2edb147f179c4076ee4
MD5 2a930ba38355dbfb008f06841e054c9d
BLAKE2b-256 6a025e6d7fb0a0565fdbd41f24b472e2e76f60ff36dd2e703a6999884a7b37db

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5bf70602f5cd9609ad17b57991cd3022c4adae5f77301639ba0f9de54a106e00
MD5 0fb7bf658a8ebd1852ebd87ad22ee470
BLAKE2b-256 0b694a5ba3cdea8c25f3ba322f68271b3af56c501ff96700a74fb05525907500

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e74736279d4706e77a54e5afd9772e7a8df159c32e48d72be548be17281ded32
MD5 b81a72440a7bf1b03a0a792e98b2e2a9
BLAKE2b-256 1065dfb3abc84e01914ca70d92d9e43627ff5c7d10c091062891bc059b0370c6

See more details on using hashes here.

File details

Details for the file paddle2onnx-2.0.2rc3-cp38-cp38-macosx_12_0_universal2.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc3-cp38-cp38-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 85839998b5f92625441ea31ec5b3fa52a95641cf6d795dc4dd4eb2c4be12f9bf
MD5 845c1be9a166358f562eb605cbbdb96b
BLAKE2b-256 93074cd54e86db10b595484faf635d82854d5695a9173d7d9cfe6b4ed9874e47

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