PaddleOCR 手写识别模型:标注到训练
目录
- 版本数据
- 流程
- 标注
- 训练
- 转换
- 推理
- 遇到报错
- 参考
本文记录一下自己标注的数据,到训练后模型转换的流程;本文只训练识别模型。
版本数据
Python == 3.8
Paddlepaddle >=2.0
PaddleOCR >= 2.0
这里数据使用的是中科院手写数据集及网上开数据;整合后处理尺寸最大为640*32;训练24w,测试1.7w;可直接用于paddleOCR的训练。
数据下载链接:
https://aistudio.baidu.com/aistudio/datasetdetail/102884
流程
- 首先使用PPOCRLabel工具标注。
- 数据合成工具Style-Text(看需求使用)。
- 编写脚本变更训练所需要的数据格式。
- 修改训练cfg,下载预训练模型,开始训练。
- 模型转换,推理测试。
标注
- 这里需要先安装PyQt5等其他依赖项
cd ./PPOCRLabel
python PPOCRLabel.py --lang ch
- 标注后会在图片路径下保存一个label.txt,格式如图:
- 实际train.txt需要将以上格式转化为SimpleDataSet格式(并且对应需要将图片切出 320*32 大小):
- 注意路径与标签的分隔需要使用 \t 分割
- 最终目录格式如下
训练
- 下载预训练模型
- 修改配置文件cfg,附:配置文件参数表
- 主要修改数据路径,添加预训练模型,epoch,batch等
- 所有路径的 ‘:’ 后面需要先加一个空格,否则会报错。
- 开始训练:
python tools/train.py -c ./configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml 2>&1 | tee train_rec.log
转换
- 训练好的模型文件不能直接使用,需要经过转换
python ./tools/export_model.py
-c ./configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml
-o Global.pretrained_model=./ch/best_accuracy
Global.load_static_weights=False
Global.save_inference_dir=./out/
推理
python tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="./inference/ch_ppocr_mobile_v2.0_det_infer/" --rec_model_dir="./inference/ch_ppocr_mobile_v2.0_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v2.0_cls_infer/" --use_angle_cls=True --use_space_char=True
我这里训练的手写体数据,原来的打印体精度变差很多。。。
遇到报错
- win10下报错 OMP: Error****************** ;需在代码前加上一下代码:
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'
- 配置文件下,所有路径的 ‘:’ 后面需要先加一个空格,否则会报错。
参考
https://github.com/PaddlePaddle/PaddleOCR
http://www.nlpr.ia.ac.cn/databases/handwriting/Download.html
PaddleOCR 手写识别模型:标注到训练相关推荐
- 基于stm32f429的手写识别_关注智能手机老年用户:百度输入法手写模型迎来重磅升级...
智能手机的快速普及让很多人都已经习惯于任何事情都用手机办理,不仅外出买东西.乘坐公共交通可以使用智能手机支付,同时一些与工作.政务相关的事情也可以在智能手机端完成,而社交工具更是让人们几乎已经不再使用 ...
- 技术 | 苹果最新博文剑指汉字手写识别!专家回应:并没有技术含量
参与 | 鸽子,Shawn 今日,苹果再次更新其博客,这次的内容主打手写识别,而且是对汉字的手写识别.是不是挺好奇的,先来看看这篇论文的简介: 对由30000字符构成的大型汉字字符库进行实时手写汉字识 ...
- python简单代码演示效果-10分钟教你用python 30行代码搞定简单手写识别!
欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 手写笔记还是电子笔记好呢? 毕业季刚结束,眼瞅着2018级小萌新马上就要来了,老腊肉小编为了咱学弟学妹们的学习,绞尽脑汁准备编一套大学秘籍, ...
- AI应用开发实战 - 手写识别应用入门
AI应用开发实战 - 手写识别应用入门 手写体识别的应用已经非常流行了,如输入法,图片中的文字识别等.但对于大多数开发人员来说,如何实现这样的一个应用,还是会感觉无从下手.本文从简单的MNIST训练出 ...
- AI应用开发实战系列之三:手写识别应用入门
AI应用开发实战 - 手写识别应用入门 手写体识别的应用已经非常流行了,如输入法,图片中的文字识别等.但对于大多数开发人员来说,如何实现这样的一个应用,还是会感觉无从下手.本文从简单的MNIST训练出 ...
- Tensorflow快餐教程(1) - 30行代码搞定手写识别
摘要: Tensorflow入门教程1 去年买了几本讲tensorflow的书,结果今年看的时候发现有些样例代码所用的API已经过时了.看来自己维护一个保持更新的Tensorflow的教程还是有意义的 ...
- 最终章 | TensorFlow战Kaggle“手写识别达成99%准确率
刘颖,某互联网创业公司COO,技术出身,做产品里最懂运营的. 这是一个TensorFlow的系列文章,本文是第三篇,在这个系列中,你讲了解到机器学习的一些基本概念.TensorFlow的使用,并能实际 ...
- 用TensorFlow做Kaggle“手写识别”达到98%准确率-详解
(点击"阅读原文"即可进入查看课程表) 刘颖,某互联网创业公司COO,技术出身,做产品里最懂运营的. 这是一个TensorFlow的系列文章,本文是第三篇,在这个系列中,你讲了解到 ...
- cnn神经网络可以用于数据拟合吗_使用Keras搭建卷积神经网络进行手写识别的入门(包含代码解读)...
本文是发在Medium上的一篇博客:<Handwritten Equation Solver using Convolutional Neural Network>.本文是原文的翻译.这篇 ...
- tensorflow+python flask进行手写识别_python+flask搭建CNN在线识别手写中文网站!简直太屌了!...
原标题:python+flask搭建CNN在线识别手写中文网站!简直太屌了! 使用python+flask搭建的一个网站,然后从网页的写字板上获取鼠标手写的汉字经过转码后传回后台,并经过图片裁剪处理之 ...
最新文章
- PADS Router VX.2.3 设置光标的类型
- XamarinEssentials教程设置首选项Preferences的值
- 安装Ubuntu 18.04后的一些操作
- FZU - 2268 Cutting Game
- python爬虫知乎图片_python爬虫(爬取知乎答案图片)
- [2019杭电多校第七场][hdu6655]Just Repeat
- 深度学习处理概率分布中常用的函数
- CocosCreator编辑器界面
- 热门好用的邮编查询API
- PS零基础学习教程(一)
- 微信小程序实现圆形菜单弹出选中动画
- IP地址短缺该如何解决?
- 手机更新显示itunes store无法连接服务器,iPhone无法连接App Store、iTunes Store?解决方法有哪些?...
- python数据处理方法
- Python 3基础语法知识点都在这里了,如果还不能入门就不能怪我了
- 怎么用python编写程序计算标准差_python 标准差计算的实现(std)
- 多少天计算机通知用户更改密码,win10系统怎么设置电脑定期强制提醒用户更改登录密码...
- 2020Revit又是怎样进行正向建模的呢?适合Revit建模插件工具
- 刷题日记【第十三篇】-笔试必刷题【数根+星际密码+跳台阶扩展问题+快到碗里来】
- 作者:钱岭(1972-),男,博士,中移(苏州)软件技术有限公司大数据部高级工程师、总经理。...