未验证 提交 68a4c7fe 编写于 作者: C cuicheng01 提交者: GitHub

Merge pull request #1976 from HydrogenSulfate/polish_onnx_doc

polish paddle2onnx doc
# paddle2onnx 模型转化与预测 # paddle2onnx 模型转化与预测
本章节介绍 ResNet50_vd 模型如何转化为 ONNX 模型,并基于 ONNX 引擎预测。 ## 目录
- [paddle2onnx 模型转化与预测](#paddle2onnx-模型转化与预测)
- [1. 环境准备](#1-环境准备)
- [2. 模型转换](#2-模型转换)
- [3. onnx 预测](#3-onnx-预测)
## 1. 环境准备 ## 1. 环境准备
需要准备 Paddle2ONNX 模型转化环境,和 ONNX 模型预测环境。 需要准备 Paddle2ONNX 模型转化环境,和 ONNX 模型预测环境。
Paddle2ONNX 支持将 PaddlePaddle 模型格式转化到 ONNX 模型格式,算子目前稳定支持导出 ONNX Opset 9~11,部分Paddle算子支持更低的ONNX Opset转换 Paddle2ONNX 支持将 PaddlePaddle inference 模型格式转化到 ONNX 模型格式,算子目前稳定支持导出 ONNX Opset 9~11
更多细节可参考 [Paddle2ONNX](https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/README_zh.md) 更多细节可参考 [Paddle2ONNX](https://github.com/PaddlePaddle/Paddle2ONNX#paddle2onnx)
- 安装 Paddle2ONNX - 安装 Paddle2ONNX
``` ```shell
python3.7 -m pip install paddle2onnx python3.7 -m pip install paddle2onnx
``` ```
- 安装 ONNX 运行时 - 安装 ONNX 推理引擎
``` ```shell
python3.7 -m pip install onnxruntime python3.7 -m pip install onnxruntime
``` ```
下面以 ResNet50_vd 为例,介绍如何将 PaddlePaddle inference 模型转换为 ONNX 模型,并基于 ONNX 引擎预测。
## 2. 模型转换 ## 2. 模型转换
- ResNet50_vd inference模型下载 - ResNet50_vd inference模型下载
``` ```shell
cd deploy cd deploy
mkdir models && cd models mkdir models && cd models
wget -nc https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/ResNet50_vd_infer.tar && tar xf ResNet50_vd_infer.tar wget -nc https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/ResNet50_vd_infer.tar && tar xf ResNet50_vd_infer.tar
cd .. cd ..
``` ```
- 模型转换 - 模型转换
使用 Paddle2ONNX 将 Paddle 静态图模型转换为 ONNX 模型格式: 使用 Paddle2ONNX 将 Paddle 静态图模型转换为 ONNX 模型格式:
``` ```shell
paddle2onnx --model_dir=./models/ResNet50_vd_infer/ \ paddle2onnx --model_dir=./models/ResNet50_vd_infer/ \
--model_filename=inference.pdmodel \ --model_filename=inference.pdmodel \
--params_filename=inference.pdiparams \ --params_filename=inference.pdiparams \
--save_file=./models/ResNet50_vd_infer/inference.onnx \ --save_file=./models/ResNet50_vd_infer/inference.onnx \
--opset_version=10 \ --opset_version=10 \
--enable_onnx_checker=True --enable_onnx_checker=True
``` ```
执行完毕后,ONNX 模型 `inference.onnx` 会被保存在 `./models/ResNet50_vd_infer/` 路径下 转换完毕后,生成的ONNX 模型 `inference.onnx` 会被保存在 `./models/ResNet50_vd_infer/` 路径下
## 3. onnx 预测 ## 3. onnx 预测
执行如下命令: 执行如下命令:
``` ```shell
python3.7 python/predict_cls.py \ python3.7 python/predict_cls.py \
-c configs/inference_cls.yaml \ -c configs/inference_cls.yaml \
-o Global.use_onnx=True \ -o Global.use_onnx=True \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册