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

paddle2onnx-2.0.1-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.1-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.1-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.1-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.1-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.1-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.1-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.1-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.1-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.1-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.1-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.1-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.1-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.1-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.1-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.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4420fa893bf3846ac58d6d3695ab13c10a0cf976baf10e5be88b68dcabea7478
MD5 a12d20a087be6c8c018e39db961ceaef
BLAKE2b-256 315cb190a393f778aa769da607478f5b29e711919336e3372adfa078292d231d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cc9efb8420a2e38f3f6938457d34e631b9639e04a05ea1530b940fe1f11a07de
MD5 580dcf01d7cfcef9d111eface83c9444
BLAKE2b-256 955c410f84eafd0d1250f5dad764d004989af1bf40977ec79b7957e5261feb82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp312-cp312-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 c5652b07d4af4751fc77fcf9595578ea919bdfe6131689aeb16a88538b770844
MD5 782f7bb4edeba566451fc85671b53bf2
BLAKE2b-256 d1a8d6920485fd8a74707e41b248ada48f6b37cfb8705c6b852ecc6156f576ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 63f9636bd02ad9e8c6e18025c71900654f034c7d6d57db0ae9dbb2d443bb120d
MD5 305a1fca34cb5184b865b88b20252bd0
BLAKE2b-256 3b13bde6935ba11b99e4058b5f92401902ec81554d960c161b654024c1eaab77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9b40659584cd22417d3a3e821f2c7d06701f9114b1e79d1f5ef18b5a12fe2d86
MD5 8f73ad9d02df6d000299d60b2d957abb
BLAKE2b-256 b55320974eb35525fea21be9547754d49f86964aa6994accb9dc387b2326ab97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp311-cp311-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 50ca6ff9d2ecf25829925afe700fbf45632baafefa909854052a9cf4819acf5d
MD5 f3394e58e9ee92284eb1c84b5bd70362
BLAKE2b-256 89601608c1bdece6f1d2d3a6782ac40c244641de1689216b4e5d13778abe0ab3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 996ff9ce2940580d89530a4c4a34a7b223d083905c2bc7022a1d1a55ac27d891
MD5 a92aed3fd92bfea0a263b003f71f9e10
BLAKE2b-256 e1600935cafbfd9d2f1bbfae2ccb9799a10656e141591e0270e45c532b3081a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 75423da469d299c06e1cce10500f2bad9155fd7bf72d42741f95160ebc321b37
MD5 4a44b58033d1803d600e911ef88a0752
BLAKE2b-256 055d5d55b818542b22b10d9726a0fa9d57bf5d626396532ff65c3a3dae99b09c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp310-cp310-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 4bffa15fc9163102941c72613215ac6e30c2c95374cec0997e4be276d7e01e95
MD5 5d781db3730740fbd240e8bd67e790b7
BLAKE2b-256 b40cf700874e32c6126936ed97f964bb8a71ea50b7f39914a318e55a77f915e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c0bd470278a29c9d619dbbe31afa0c99e1cbafe81d0e47059358bb7ac250b881
MD5 70890b802e1aebfb166308a8f5941d5b
BLAKE2b-256 8d5d0a621c9359df952b29e3bfd2191ee4da8134cc01be4d5ac54083541435af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b13a1e9d7f9420651e65c1d3540d3bc2bd3b1049da17cfa84b4f81b08b09d07f
MD5 30b3e4140e0a43ab2c1bf09f13152eeb
BLAKE2b-256 2067ffb53fbc885011b947a4a6f7021d6e891394fde88dcb93e4c3fd277d7de7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp39-cp39-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 4aec5f260cae1293715f1704c0c4d36ddeef2c1b04296f52d2d560f89556b1c4
MD5 8d9dd8010925a9e3d7426d4b59807710
BLAKE2b-256 9da083ef0dcdf70b287bb9dad367dba4e1a4125a9e139b83e4c6f924ad498885

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d8c409b9f89038c7e3eea48c19e8dddb43eaf060857fa227612f5373e88c9b0e
MD5 730b937521d7d9edf041ac411ddaf344
BLAKE2b-256 9691eb8ea38fb8dfcf550dae607840a06472ac5e301c20e3a6dae5ea036e512c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8ae6add48f4c0f7e54ee7c53f09ae24fc8809deb857d03566847c6755debc587
MD5 d83d7636199a56a48488c61d303300fb
BLAKE2b-256 9197f365fe64d40a1ec65b7827a401281f3bde66d529c91f3a3642ab669d22e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paddle2onnx-2.0.1-cp38-cp38-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 f720d6c9532a14041c748252b26494fcd4d046f438ab9621d8ad548a828c4dd5
MD5 c209b31a84b5ba04323f19e510479842
BLAKE2b-256 8fec844ae67ee4d28a17c5ad4379b86e8409e7e35bd762b3c173f517f049816a

See more details on using hashes here.

Supported by

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