PaddlePaddle推理模型利用Paddle2ONNX转换成onnx模型

embedded/2024/12/23 1:10:52/

训练paddleocr模型,可以按照如下教程或者直接百度其他的

PaddleOCR训练自己的数据集(中英文)(全套)和C#部署(半套)_c# paddleocr-CSDN博客

将训练后的模型转换成推理模型

-c后面是你配置的det  的yaml文件   -o Global.pretrained_model=后面是你训练后的模型 latest

lobal.save_inference_dir=保存转换后的推理模型位置

python tools/export_model.py -c "./configs/endet_enrec_encls/en_PP_OCRV3_det_cml.yml" -o Global.pretrained_model="./output/det/ch_PP-OCR_v3_det3/latest" Global.save_inference_dir="./models/inf_det/"

 rec的转换和上方的det一样

 转换后是如下

 然后在命令行中pip下载paddle2onnx和onnxruntime

# 安装paddle2onnx
pip install paddle2onnx -i https://pypi.tuna.tsinghua.edu.cn/simple
# 安装 ONNXRuntime,建议安装 1.9.0 版本,可根据环境更换版本号
pip install onnxruntime==1.9.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

 转换命令如下

paddle2onnx --model_dir saved_inference_model \--model_filename model.pdmodel \--params_filename model.pdiparams \--save_file model.onnx \--enable_dev_version True

 

 如果看不明白,下方是我的转换命令

model_dir 是你训练模型的文件夹

model_filename 是结尾是 .pdmodel文件

params_filename 是结尾是 .pdiparams文件

save_file 保存转换后的onnx模型

当然rec和det以及旋转模型也是如下,一共有三个。

paddle2onnx --model_dir H:\\DL\\PaddleOCR-main\\models\\ch_PP-OCRv3_rec_infer--model_filename inference.pdmodel --params_filename inference.pdiparams --save_file F:\\Desk\\159\\inference.onnx

测试推理 

onnxruntime推理

python tools/infer/predict_system.py --use_gpu=False --use_onnx=True \
--det_model_dir=./inference/det_onnx/model.onnx  \
--rec_model_dir=./inference/rec_onnx/model.onnx  \
--cls_model_dir=./inference/cls_onnx/model.onnx  \
--image_dir=./deploy/lite/imgs/lite_demo.png

 优化模型命令

python -m paddle2onnx.optimize --input_model model.onnx --output_model optimized_model.onnx


http://www.ppmy.cn/embedded/147945.html

相关文章

圣诞快乐(h5 css js(圣诞树))

一,整体设计思路 圣诞树h5(简易) 1.页面布局与样式: 页面使用了全屏的黑色背景,中央显示圣诞树,树形由三层绿色的三角形组成,每一层的大小逐渐变小。树干是一个棕色的矩形,位于三角…

windwos defender实现白名单效果(除了指定应用或端口其它一律禁止)禁止服务器上网

一、应用场景说明 当我们的一台windows服务器中毒,变成别人肉鸡,不断向外请示非法网站或攻击其它服务器。 要彻底清除相关木马或病毒往往需要的时间比较长,比较有效的方法是禁止服务器主动向外发包除了网站端口和远程程序除外。 其实这就是一…

网络安全技术深度解析与实践案例

网络安全技术深度解析与实践案例 随着信息技术的飞速发展,计算机网络已经成为现代社会不可或缺的一部分。无论是个人生活、企业运营还是国家安全,网络都扮演着至关重要的角色。然而,网络空间的开放性和匿名性也带来了诸多安全隐患。因此&…

3 需求分析

一、需求分析的任务 1.确定对系统的综合要求 功能需求性能需求可靠性和可用性需求出错处理需求接口需求约束逆向需求将来可能提出的要求 二、分析建模与规格说明 1.分析建模 结构化分析实质上是一种创建模型的活动。为了开发出复杂的软件系统,系统分析员应该从不…

【C语言】信号

【C语言】信号 信号1. 信号状态2. 信号处理方式3. 信号注册相关函数4. 信号集相关函数 信号 1. 信号状态 信号有三种状态:产生、未决和递达 信号产生方式: 按键产生,ctrlc 产生 中断信号SIGINT,ctrl \ 产生退出信号 SIGQUIT并…

电子电器架构 ---整车区域控制器

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…

车辆重识别代码笔记12.20

1、model.named_parameters() model.named_parameters() 返回一个生成器,生成每个参数的名称和相应的参数值。这对于查看和修改特定参数的可训练状态非常有用。 model DarkNet([1, 2, 8, 8, 4]) for name, param in model.named_parameters():print(name, param.r…

浏览器引入elasticsearch-head插件

elasticsearch-head插件下载: 链接: https://pan.baidu.com/s/1Dz3aU42HZCNg45iJoDOsMg?pwduvhg 提取码: uvhg 1、打开浏览器设置 2、选择拓展程序 3、选择elasticsearch-head插件下载 4、打开es-head插件 5、修改ip 6、登录