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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.8Windows x86-64

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e60f1bf07dc78631656152bd3cf6d7ed6fb5af3a2e2545a63a28db57b2f6adff
MD5 c813d229d3e0e1e50ec45a6f495590af
BLAKE2b-256 305e3160aab9a153e13db06f9d22edea0b857e16f08784e2e3dee81c73cef4a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dcdfe19deaabeaa26b5356bf34d9078da7e1a81b0a41642c5fa42780ed79a393
MD5 67712fad119cdf033c401b33cac1b6e3
BLAKE2b-256 f2bef0141d2c93b0e2fa9f6611184d5c7f052671e38c3d41a3f7d5cf8945d5fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3e50e5511e0585e5c5bbdc57e20e1b84e40c3e4d647895d1aa45661d660dde87
MD5 480f62c8131ec62e5ba86b858b6123e6
BLAKE2b-256 adab21641d6811c89333c47f0298d489b26b8841a00e7fabcf06b9314dbc9c34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp312-cp312-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 67f046bb16fb070ad7dad55db6bfaa60e9a83f9adce64ba9c31336ce180b7771
MD5 91a2355307c0c86dc742f9ce5cd97931
BLAKE2b-256 3a7aba37c86b7c99dc23c4ad7a3a402e197e3708e961cb7180ea3fd3e7227bcd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2a6efffb7a86ff1c68a0ea58e4611f3742f47e7088a74cdc90f93005412d7335
MD5 e0aea42f13619825d76024e7c7574b74
BLAKE2b-256 1ae045fbd20c4852345d55f943abd0d896ec368ef01a4d10eb4789e46f094acc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 85cd19b41d75835975f151993460a3ae949ab2c1f0cc1c8eaf1e615618d2e0c0
MD5 4499fbcac236d31feb24539ae7134cf0
BLAKE2b-256 95bc6a60a6df05c92b9a3edd71fb7cbf4dadf136cfbc42c5ae590ca26e592cec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 eeb7f3c43dbc22acc882b6cd109ecf4bdc3b79fa37d3c1636edbbadd32c2bcc4
MD5 c0d1dfcdce6bf4f5b88cb5668d70f40c
BLAKE2b-256 e3dd4985c4cf1cd06669471d58d124552d84b4a62616736f6063864b291bd51d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp311-cp311-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 a1bf1ae432710327cbee612291a687049179857874b68aaea9e8eb68675aef5f
MD5 8971071fa41a02b608f9963f09079267
BLAKE2b-256 2690c3664e019fec567742eabb58205908f6088cd513fb8d5f2ee5be52801588

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bf7ce4c8c586e9b745ce899c85f8de4824ed7edef60eba383163b5164c6fc965
MD5 b833224ba105a02a964d415fd9ab5583
BLAKE2b-256 ef666586f61563c03371019978a3d541deec8ac63aa49be3338b7f139f6b121e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cf0e7917ed6f2f0c3360e8466fcf81e5ef682e9652b2f012c988e3e99b2d63b2
MD5 f57b3a952097f8951ddbf9e5029c7ca1
BLAKE2b-256 d72ea65f2ff13844fd8deca716ef8a25b1d158bb376d186e5a276c934c09098d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ed6cf992205b9e68d6d30af6dd1dd7a019b6df0229930be8affab058e3a0bd6d
MD5 82ba3787b0e80ad0af82cea4d8f05926
BLAKE2b-256 840722f530942b5e28a9bcc40b0a65864713247edce60361c0a203c8f3f0c329

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp310-cp310-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 77ee4be00b43833012a53d1e84eb498d3356d04f0dc48f2637392aeb310b9cc9
MD5 c26da21c1a2e9aff0d23a0522ae1eb64
BLAKE2b-256 66753dd08d4795bb46d90a80f085b8553a10d897b55831b279bd31045c1223ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ccc69a6ab0abec4934c002649cd3a93eb16ebbc53576b6eae6744f0aa2d367a5
MD5 b8c2d35319e4ff73bea3026f7504bd1c
BLAKE2b-256 b904f23f230fb11c7992f59f9bab615bee5d8c6f5e75d827ce75baf8a3fd6f00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f1d1dd9cd275ea14c624987637d3bf9f47400c7a71ee120ad614a40def072c2a
MD5 0572e945c06a73b037826d2bfa62d991
BLAKE2b-256 303ee43b8d4f54851ebb367426ed94f3a9c1f5259de3efbc507215bb8c30683b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5bd6d0c256e71eb1ad1eaa8b2e502745a8ed7cd50b5953d2298cbe997374f835
MD5 497006dcc0409aaa0208bd4af2e96d7b
BLAKE2b-256 dff5ebb8e96abd384e2edc52f1c9fad2f2aa6c810382b72a9f6cc6ccf7335409

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp39-cp39-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 ee5cba30af7629a0c864f3ce4074604e29cdc83e3c648fe7193366fd919dc392
MD5 e0c5aa534fee39aba5e3f52f1114cae1
BLAKE2b-256 5439c2f567dc2841d8ccf66cb31590dc68043d05d54ce058c3d055e078e7e6a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ad4ed40b2debbbc504e185149f2fabf4b3ad258aef329b00fd77689f13455301
MD5 c953c910069a8d02d5c9dc476756fb09
BLAKE2b-256 445c8a1ee4708c21b5ac62945c037169a18955d7ed9a5058fe8004603704ebdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 68ec1d499fe24af67cfd0f69c71d9e5950d85cc143153e8fb1cdaf5c2aaf7bbd
MD5 7da169f274a3f308d03142f2a41f1669
BLAKE2b-256 586e75766feb493da414a7710e44ca9cb312e31a174826d000e5fe27561770a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6d22129708f8e81e3a489f1d1acbcb7f9699cc9f6241d8f8ce0c8248794a31e2
MD5 df90a2e32009530f5de0149767b1ca4d
BLAKE2b-256 4483030ec2e83463d1130e157875d63be0fef1bf88c4d3935aeb1e0d7ed6c7ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.2rc1-cp38-cp38-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 0851750687e703fbbc96a022037a32a5a5e217803e56a6dc5db88c9aead336c4
MD5 4202ec843eeb759880afe980da7b99c0
BLAKE2b-256 612ea726b75ed2958ba0a3c33ed53c78adf7af398a606abdb4704da8213e2e3b

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