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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.8Windows x86-64

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 318cd71a492314cc686f59b2bff6be48dd600855c153a64f9b04a58c940c9a40
MD5 d7b1631e0af991f596f0d6fe047691a1
BLAKE2b-256 c7c1882ed53e0dcc9be860f3567153bca805aef83c31190cd1284e7ade68d859

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bc27dc9f90e08c7c66438f6a3899f65fcb584f712deebfe66ea0c1adedc01de7
MD5 b16ff7d0e7e5efe52fe5f846285f2389
BLAKE2b-256 0c3c03e5244f92c369a6b1cd2c819692e10a3f044dd189f4676f5cf7dbaafd7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 51198355fbcf74ddd3f58a4c34621fd2e609b41400bc98abb3e0fd035fcce4b4
MD5 96db28c1e063b199baabdc5acf084328
BLAKE2b-256 4275eeac148d08d26e17393d98211be500cfa95bd5a0bf3c81c5851290cdc43e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp312-cp312-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 f784a70f084e95c808e5df86c43e48e4bad485d5d7df745cede258962fc2676d
MD5 d37008dcf19d88c94b7b6e1784050b98
BLAKE2b-256 747071aeb521a73e082e64abc631b903ab628a829a58381b98884249bac98d90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 77a3a7eed34034ce761f68e4aad55963df8a830f50ade62a53ee64f930bbfead
MD5 2d9d12f640a4042e98891ce2df9b6a6a
BLAKE2b-256 ff5a131e2e87ecbee07d99c4bc4082d76020a6c77af00d81021cc5345d68d89d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 45126aaf864814a4d5809da5f901cd2ceb30ceca26471db011d3cb2d5afa31ff
MD5 b4bc654bc9047b3fdf998ca1bd680a73
BLAKE2b-256 4d07775cf3944aa5dcf096828a9cd0b5a3b49154e437e794a90c7541bbf73cb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 78d9eb4a70a70a5a47bd25efb0dc9b8be6cefeaa0ec02562395b5ccf53c1b56a
MD5 cc0e9764a9212107351e19b6b9feb9ba
BLAKE2b-256 f149cca642d6d17f7c12def82c1ec9dba5cfa1c75d4603b60036c87af95671fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp311-cp311-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 e85530221636f98d38046a9ab9a22fdf30236f2b9609f2b01df1e515fa0a7dc7
MD5 09aeb42efdd1171a74966a94e8ce0c96
BLAKE2b-256 40e5107699750c7ca1471aa6c33ba7cf40f226e2850b0f027d12b9f74ddad899

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e53aafc3e450c066b41777791939cf44025977866c76ace291de2e9578711938
MD5 f20a467b102ae39cddd24bf155a8d19c
BLAKE2b-256 a05dc27ad4bb14c9637ce30ea27c76c150aed98415a03f7803a8f2fe5b967b2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a44480c8bbfe09f2880835011ff35d7d37953cf054f343b9d7e8d93823df3b70
MD5 0e362683c7835983ab6f61aa1fa2ab80
BLAKE2b-256 7759aa6af481a34c7a1011af9f804ba9bfb8d548c643a901e977f001ea69c551

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7121d1b0291b30554c47415dc29d90fe67c2c9882b4473ee51fab8264ec6b95d
MD5 6a64c56b0e1f6f4db25a100cbddd2c27
BLAKE2b-256 b3390866e534821d519ef2038990d88a7f2977efc433c9c6aa9c1efa9437ea9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp310-cp310-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 b02e614486fd65af30ae3666362ac0fb09428aca7f95782127418399a9c05842
MD5 7e9ad77585b1c292e88a65502bf8c7de
BLAKE2b-256 f82dd76a71aa73534b798031f63c21fe13ebe12e82a852c089c78ef0cfc44929

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a320f308254f151aef7c809df1d3b62882d5df06b6847803cadedf2fccc265bc
MD5 4ec5b12f6b2e43fd8583d93c1c18dcbb
BLAKE2b-256 30db77e5c2578b0ecbe93b31cdb869b2dc64d459ad6139f285a024248c44bbba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 72e3f834ecaabc9cee6ff214360224d74836703beb6af6bb5b1a8637f04a61e0
MD5 4c6b7fe61092d7a4170502c2bc9d09b2
BLAKE2b-256 8b1db070d7a6b9543267aa3feb95ba928e9fc9e34a0dfb1886fba14330426e26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f02013384802a6d53e375f9d26e1ec47d6278c2ba6ba4b22d15693c7d42341bd
MD5 e308a08ee7ff1df9b89f4e5e0b345d1d
BLAKE2b-256 edc968e42545aabddfae989c7f3bb4b1ea76ac9849ffb44084c772b3bd026de1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp39-cp39-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 a71c85394eb1770fef9ec06c7ecff221b9820b45942fb6945a65e3a79fad42fc
MD5 54d23cdfb2f2fb8f2f0ab084fa01c925
BLAKE2b-256 a2a065c782ad3bb12d20c27c57346df8afb23e84fa91c6c3fa3482f880a83dd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e3c0c93b62bfd77f0f10a45e07e17b1fed8f84790dbbe347e45799cdb12771bf
MD5 be2dd75f0cbad71fafa6f721d6dff951
BLAKE2b-256 358908c033da343b4afb1800d6926e2d876a1af38bbcdb1e77081c56353a2ce8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9e0a35c89fff9624779d14f26fe614a42200f02fc6e2bd9df7d18e02b0309e31
MD5 ca89edfe79e11efaa5d525e36e7c2cae
BLAKE2b-256 8639fa739c8de804e71222f490a2cc9c473f0c7c3f306b9a9208fd31adbd2f52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 31aa1e7726640d274663ca6eecdd5f2456e927494e0a51e2c62481394018447d
MD5 6cd66be8a631fc6e6ecb0a549d4e0b0c
BLAKE2b-256 3ff04386e545233021aad6d53b206a8ae1454a230b6eb53baeda6abc31ea9d4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc2-cp38-cp38-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 b88390087fb4bd37eede3695e8bd8fd1dd9fa64abc23c1fb19c2d5e4e49828fb
MD5 386e829ced48898778d8959d691e7ec8
BLAKE2b-256 7cb988ca40d1d43fb747b5405fa867201157473f150f67bda6c14d68618e1e55

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