{"id":18524982,"url":"https://github.com/paddlepaddle/paddle2onnx","last_synced_at":"2025-05-14T09:08:19.924Z","repository":{"id":37390994,"uuid":"127058653","full_name":"PaddlePaddle/Paddle2ONNX","owner":"PaddlePaddle","description":"ONNX Model Exporter for PaddlePaddle","archived":false,"fork":false,"pushed_at":"2025-04-11T17:35:57.000Z","size":5628,"stargazers_count":791,"open_issues_count":88,"forks_count":176,"subscribers_count":72,"default_branch":"develop","last_synced_at":"2025-04-13T07:19:35.909Z","etag":null,"topics":["classification","deploy","detection","ocr","onnx","onnxruntime","paddlepaddle","picodet","ppocr","ppyoloe"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PaddlePaddle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-27T23:46:14.000Z","updated_at":"2025-04-12T09:51:57.000Z","dependencies_parsed_at":"2023-12-26T03:08:11.210Z","dependency_job_id":"dad057d7-d7ab-401f-81c1-cc6fae6da46b","html_url":"https://github.com/PaddlePaddle/Paddle2ONNX","commit_stats":{"total_commits":977,"total_committers":55,"mean_commits":"17.763636363636362","dds":0.6622313203684749,"last_synced_commit":"fbc3b908bdd28aa2303a4c9de592bf73e511b470"},"previous_names":["paddlepaddle/paddle-onnx"],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaddlePaddle%2FPaddle2ONNX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaddlePaddle%2FPaddle2ONNX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaddlePaddle%2FPaddle2ONNX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaddlePaddle%2FPaddle2ONNX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PaddlePaddle","download_url":"https://codeload.github.com/PaddlePaddle/Paddle2ONNX/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248676128,"owners_count":21143870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["classification","deploy","detection","ocr","onnx","onnxruntime","paddlepaddle","picodet","ppocr","ppyoloe"],"created_at":"2024-11-06T17:44:05.488Z","updated_at":"2025-04-13T07:20:12.955Z","avatar_url":"https://github.com/PaddlePaddle.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Paddle2ONNX\n\n简体中文 | [English](README_en.md)\n\n## 1 Paddle2ONNX 简介\n\nPaddle2ONNX 支持将 **PaddlePaddle** 模型格式转化到 **ONNX** 模型格式。通过 ONNX 可以完成将 Paddle 模型到多种推理引擎的部署，包括 TensorRT/OpenVINO/MNN/TNN/NCNN，以及其它对 ONNX 开源格式进行支持的推理引擎或硬件。\n\n## 2 Paddle2ONNX 环境依赖\n\nPaddle2ONNX 依赖PaddlePaddle3.0，我们建议您在以下环境下使用 Paddle2ONNX ：\n\n- PaddlePaddle == 3.0.0b2\n- onnxruntime \u003e= 1.10.0\n\n## 3 安装 Paddle2ONNX\n\n如果您只是想要安装 Paddle2ONNX 且没有二次开发的需求，你可以通过执行以下代码来快速安装 Paddle2ONNX\n\n```\npip install paddle2onnx\n```\n\n如果你希望对 Paddle2ONNX 进行二次开发，请按照[Github 源码安装方式](docs/zh/compile_local.md)编译Paddle2ONNX。\n\n## 4 快速使用教程\n\n### 4.1 获取PaddlePaddle部署模型\n\nPaddle2ONNX 在导出模型时，需要传入部署模型格式，包括两个文件\n\n- `model_name.json`: 表示模型结构\n- `model_name.pdiparams`: 表示模型参数\n\n### 4.2 调整Paddle模型\n\n如果对Paddle模型的输入输出需要做调整，可以前往[Paddle 相关工具](./tools/paddle/README.md)查看教程。\n\n### 4.3 使用命令行转换 PaddlePaddle 模型\n\n你可以通过使用命令行并通过以下命令将Paddle模型转换为ONNX模型\n\n```bash\npaddle2onnx --model_dir model_dir \\\n            --model_filename model.json \\\n            --params_filename model.pdiparams \\\n            --save_file model.onnx\n```\n\n可调整的转换参数如下表:\n\n| 参数                         | 参数说明                                                                                                            |\n|----------------------------|-----------------------------------------------------------------------------------------------------------------|\n| --model_dir                | 配置包含 Paddle 模型的目录路径                                                                                             |\n| --model_filename           | **[可选]** 配置位于 `--model_dir` 下存储网络结构的文件名                                                                         |\n| --params_filename          | **[可选]** 配置位于 `--model_dir` 下存储模型参数的文件名称                                                                        |\n| --save_file                | 指定转换后的模型保存目录路径                                                                                                  |\n| --opset_version            | **[可选]** 配置转换为 ONNX 的 OpSet 版本，目前支持 7~19 等多个版本，默认为 9                                                            |\n| --enable_onnx_checker      | **[可选]**  配置是否检查导出为 ONNX 模型的正确性, 建议打开此开关， 默认为 True                                                             |\n| --enable_auto_update_opset | **[可选]**  是否开启 opset version 自动升级功能，当低版本 opset 无法转换时，自动选择更高版本的 opset进行转换， 默认为 True                              |\n| --deploy_backend           | **[可选]** 量化模型部署的推理引擎，支持 onnxruntime/rknn/tensorrt, 默认为 onnxruntime |\n| --save_calibration_file    | **[可选]** TensorRT 8.X版本部署量化模型需要读取的 cache 文件的保存路径，默认为 calibration.cache                                          |\n| --version                  | **[可选]** 查看 paddle2onnx 版本                                                                                      |\n| --external_filename        | **[可选]** 当导出的 ONNX 模型大于 2G 时，需要设置 external data 的存储路径，推荐设置为：external_data                                       |\n| --export_fp16_model        | **[可选]** 是否将导出的 ONNX 的模型转换为 FP16 格式，并用 ONNXRuntime-GPU 加速推理，默认为 False                                           |\n| --custom_ops               | **[可选]** 将 Paddle OP 导出为 ONNX 的 Custom OP，例如：--custom_ops '{\"paddle_op\":\"onnx_op\"}，默认为 {}                       |\n\n\n### 4.4 裁剪ONNX\n\n如果你需要调整 ONNX 模型，请参考 [ONNX 相关工具](./tools/onnx/README.md)\n\n### 4.5 优化ONNX\n\n如你对导出的 ONNX 模型有优化的需求，推荐使用 `onnxslim` 对模型进行优化:\n\n```bash\npip install onnxslim\nonnxslim model.onnx slim.onnx\n```\n\n## 5 代码贡献\n\n繁荣的生态需要大家的携手共建，开发者可以参考 [Paddle2ONNX 贡献指南](./docs/zh/Paddle2ONNX_Development_Guide.md) 来为 Paddle2ONNX 贡献代码。\n\n## 6 License\n\nProvided under the [Apache-2.0 license](https://github.com/PaddlePaddle/paddle-onnx/blob/develop/LICENSE).\n\n## 7 感谢捐赠\n\n* 感谢 PaddlePaddle 团队提供服务器支持 Paddle2ONNX 的 CI 建设。\n* 感谢社区用户 [chenwhql](https://github.com/chenwhql), [luotao1](https://github.com/luotao1), [goocody](https://github.com/goocody), [jeff41404](https://github.com/jeff41404), [jzhang553](https://github.com/jzhang533), [ZhengBicheng](https://github.com/ZhengBicheng) 于2024年03月28日向 Paddle2ONNX PMC 捐赠共 10000 元人名币用于 Paddle2ONNX 的发展。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaddlepaddle%2Fpaddle2onnx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaddlepaddle%2Fpaddle2onnx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaddlepaddle%2Fpaddle2onnx/lists"}