PaddleOCR转ONNX
1、环境:
pip install paddle2onnx
Windows10下PaddleOCR可以正常inference,然后转存为onnx模型进行推理加速。
paddle:paddlepaddle-gpu=2.0.0rc1;
paddle2onnx:paddle2onnx=0.5;
onnx:onnx=1.8.0;
onnxruntime:onnxruntime-gpu=1.6.0;
cuda:cuda=10.1;
cudnn:cudnn=7.6.5;
这边onnxruntime-gpu需要安装cuda,onnxruntime就不需要,正常无需gpu加速,已可达到使用需求。
2、模型转换(paddle-onnx)
(1)检测模型
paddle2onnx --model_dir ./inference_large/det/ --model_filename inference.pdmodel --params_filename inference.pdiparams --save_file ./onnx_model/det_large.onnx --opset_version 11 --enable_onnx_checker True
1
通过上述命令在目录onnx_model下得到PaddleOCR检测模型的onnx模型,该模型可以放到netron上查看输入尺寸,默认为(-1 * 3 * 640 * 640),如果我们需要修改模型输入的尺寸和batch,可以用onnx修改得到的onnx模型输入尺寸(? * 3 * ? * ?):
file_path = './onnx_model/det_large.onnx'
model = onnx.load(file_path)
model.graph.input[0].type.tensor_type.shape.dim[0].dim_param = '?'
model.graph.input[0].type.tensor_type.shape.dim[2].dim_param = '?'
model.graph.input[0].type.tensor_type.shape.dim[3].dim_param = '?'
onnx.save(model, './onnx_model/det_large_dynamic.onnx')
(2)识别模型
paddle2onnx --model_dir ./inference_large/rec/ --model_filename inference.pdmodel --params_filename inference.pdiparams --save_file ./onnx_model/rec_large.onnx --opset_version 11 --enable_onnx_checker True
1
同理,通过上述命令在目录onnx_model下得到PaddleOCR检测模型的onnx模型,该模型可以放到netron上查看输入尺寸,默认为(-1 * 3 * 32 * 100),如果我们需要修改模型输入的尺寸和batch,可以用onnx修改得到的onnx模型输入尺寸(? * 3 * ? * ?):
file_path = '。/onnx_model/rec_large.onnx'
model = onnx.load(file_path)
model.graph.input[0].type.tensor_type.shape.dim[0].dim_param = '?'
model.graph.input[0].type.tensor_type.shape.dim[2].dim_param = '?'
model.graph.input[0].type.tensor_type.shape.dim[3].dim_param = '?'
onnx.save(model, './onnx_model/rec_large_dynamic.onnx')
————————————————
版权声明:本文为CSDN博主「favorxin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/favorxin/article/details/113838901
PaddleOCR转ONNX相关推荐
- paddleoc onnx转换推理
目录 paddle 文字识别验证代码: onnx c++推理: python onnx识别部分推理示例: 感谢博客: PaddleOCR转ONNX模型(推理部分)_favorxin的博客-CSDN博客 ...
- 【AI达人创造营三期】在地平线X3上部署车牌识别系统
[AI达人创造营三期]在地平线X3上部署车牌识别系统 一. 项目介绍 本项目属于AI达人创造营三期项目,主要探索如何将PaddleOCR训练的车牌识别模型部署在地平线X3的板子上,并实现实时推理. 二 ...
- PaddleOCR体检报告识别
基于PaddleOCR的体检报告识别 一.项目背景与意义 面对飞速发展互联网医疗时代,医疗信息化建设已经成为医疗行业发展的趋势.经调研,约80%的医学病历是处于非结构化状态的,难以直接被利用而造成了大 ...
- OCR/STR生僻字数据训练 | PaddleOCR的Fine-tune常见问题汇总(3)
1.印章如何识别? 使用带tps的识别网络或abcnet,2.使用极坐标变换将图片拉平之后使用crnn 2.多语言的字典里是混合了不同的语种,这个是有什么讲究吗?统一到一个字典里会对精度造成多大的损失 ...
- 【PaddleOCR】Paddle-Lite, Paddle2ONNX介绍, 学习教程...
文章目录 Paddle-Lite Paddle2ONNX 其它经验 Paddle-Lite from: https://github.com/PaddlePaddle/Paddle-Lite Padd ...
- 利用PaddleOCR训练车牌识别模型
目录 1--前言 2--生成车牌数据集 3--构建车牌数据集标签 4--自定义字典 5--训练模型 6--模型转换和推理 7--模型转换为onnx模型 8--参考 1--前言 ①系统:Ubuntu18 ...
- paddleocr 的使用要点1 (仪表识别)
要点 : 简介, 垃圾跳过 paddleocr GitHub地址 一 ocr简介 1 获取和运行代码 本课程依托PaddleOCR的代码库形成,首先,克隆PaddleOCR的完整项目: #[推荐] g ...
- ONNX MLIR应用示例(含源码链接)
ONNX MLIR应用示例(含源码链接) 开放式神经网络交换在MLIR中的实现 (http://onnx.ai/onnx-mlir/). Prebuilt Containers 开始使用ONNX-ML ...
- ONNX MLIR方法
ONNX MLIR方法 MLIR中的开放式神经网络交换实现. Prerequisites gcc >= 6.4 libprotoc >= 3.11.0 cmake >= 3.15.4 ...
最新文章
- 巧用WINDOWS脚本语言删除临时文件
- udp tcp ip 校验和对比
- CentOS 5.5高负载下,网卡会自动断开
- 通过javascript改变form提交的action,实现不同的按钮向不同的action提交同一个form的数据
- 測试新浪微博@小冰 为代码机器人的一些方法
- ZOJ3545——AC自动机+状态dp
- 解决算法问题的思路 —— 从问题描述到数学表达
- 智能优化算法——布谷鸟搜索算法原理(附代码)
- php个人微信聊天机器人,wxpy将个人微信号变成微信聊天机器人
- Ubuntu安装与Xshell的配置
- H.265编码原理入门
- matlab太阳系行星,Matlab动画模拟太阳系行星运动.doc
- 逆转线性链表的算法c语言,pta-数据结构与算法题目集(中文)-4-1-单链表逆转...
- 大数据平台架构实战(二)IntelliJ IDEA搭建hadoop
- php 微信开发实战pdf,微信开发实战之模块化的实例详解
- buctoj-python 2022.5.19
- Rabbitmq安装过程(使用docker)
- 保姆级教程:如何搭建一个专属云平台?
- 门后的秘密-读书笔记
- 关于 pandas 解析 json 文件和其他类型文件的结果中日期格式数据类型不一致的问题
热门文章
- windows测试模式打开关闭
- zend studio自动添加文件注释和方法注释
- 详解PHP spl_autoload_register()函数
- KVM虚拟机源代码分析
- GDB 内写脚本调试程序
- mysql主从复制延时性问题_MySQL主从同步延迟原因及解决办法
- mysql服务器消失_MySQL服务器已经消失了
- 数据结构 - 二叉树的广度优先遍历算法(C++)
- s7edge出现android停止,三星S7 Edge升级安卓7.0出现了这个问题!
- IDEA注释模板,动作要快,姿势要帅!