飞桨 x 昇腾生态适配方案:09_Paddle 转 ONNX
本节介绍 PP-OCRv4 模型如何转化为 ONNX 模型。
环境准备
需要准备 PaddleOCR、Paddle2ONNX 模型转化环境,和 ONNXRuntime 推理环境。
安装 Paddle2ONNX
Paddle2ONNX 支持将 PaddlePaddle 模型格式转化到 ONNX 模型格式,安装命令如下:
安装 ONNXRuntime
ONNXRuntime 为 ONNX 模型提供推理预测环境,安装命令如下:
训练模型下载
训练模型转 inference 模型
inference 模型(paddle.jit.save 保存的模型)一般是把模型结构和模型参数保存在文件中的固化模型,多用于预测部署场景。训练过程中保存的模型是 checkpoints 模型,保存的只有模型的参数,多用于恢复训练等。与 checkpoints 模型相比,inference 模型会额外保存模型的结构信息,在预测部署、加速推理上性能优越,灵活方便,适合于实际系统集成。
转换命令
转换成功:

参数说明
-c 后面设置训练算法的 yml 配置文件-o 配置可选参数 Global.pretrained_model 参数设置待转换的训练模型地址,不用添加文件后缀 .pdmodel,.pdopt 或.pdparams。Global.save_inference_dir 参数设置转换的模型将保存的地址。
输出结果
转 inference 模型时,使用的配置文件和训练时使用的配置文件相同。另外,还需要设置配置文件中的 Global.pretrained_model 参数,其指向训练中保存的模型参数文件。 转换成功后,在模型保存目录下有三个文件:
inference 模型转 ONNX 模型
本节介绍使用 Paddle2ONNX 工具将 Paddle inference 模型转换为 ONNX 模型格式。
转换命令
转换成功:

参数说明
--model_dir 配置包含 Paddle 模型的目录路径--model_filename [可选] 配置位于 --model_dir 下存储网络结构的文件名--params_filename [可选] 配置位于 --model_dir 下存储模型参数的文件名称--save_file 指定转换后的模型保存目录路径--opset_version [可选] 配置转换为 ONNX 的 OpSet 版本,目前支持 7~19 等多个版本,默认为 9--enable_onnx_checker [可选] 配置是否检查导出为 ONNX 模型的正确性, 建议打开此开关, 默认为 True
输出结果
执行完毕后,ONNX 模型会被保存在 ./inference/det_onnx/路径下:
ONNX 模型优化
如对导出的 ONNX 模型有优化的需求,推荐使用 onnxslim 对模型进行优化:
评论