目录

  • 版本数据
  • 流程
  • 标注
  • 训练
  • 转换
  • 推理
  • 遇到报错
  • 参考

本文记录一下自己标注的数据,到训练后模型转换的流程;本文只训练识别模型。

版本数据

Python == 3.8
Paddlepaddle >=2.0
PaddleOCR >= 2.0

这里数据使用的是中科院手写数据集及网上开数据;整合后处理尺寸最大为640*32;训练24w,测试1.7w;可直接用于paddleOCR的训练。

数据下载链接:
https://aistudio.baidu.com/aistudio/datasetdetail/102884

流程

  1. 首先使用PPOCRLabel工具标注。
  2. 数据合成工具Style-Text(看需求使用)。
  3. 编写脚本变更训练所需要的数据格式。
  4. 修改训练cfg,下载预训练模型,开始训练。
  5. 模型转换,推理测试。

标注

  • 这里需要先安装PyQt5等其他依赖项
cd ./PPOCRLabel
python PPOCRLabel.py --lang ch

  • 标注后会在图片路径下保存一个label.txt,格式如图:

  • 实际train.txt需要将以上格式转化为SimpleDataSet格式(并且对应需要将图片切出 320*32 大小):
  • 注意路径与标签的分隔需要使用 \t 分割

  • 最终目录格式如下

训练

  1. 下载预训练模型
  2. 修改配置文件cfg,附:配置文件参数表
  3. 主要修改数据路径,添加预训练模型,epoch,batch等
  4. 所有路径的 ‘:’ 后面需要先加一个空格,否则会报错。
  5. 开始训练:
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

我这里训练的手写体数据,原来的打印体精度变差很多。。。

遇到报错

  1. win10下报错 OMP: Error****************** ;需在代码前加上一下代码:
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'
  1. 配置文件下,所有路径的 ‘:’ 后面需要先加一个空格,否则会报错。

参考

https://github.com/PaddlePaddle/PaddleOCR
http://www.nlpr.ia.ac.cn/databases/handwriting/Download.html

PaddleOCR 手写识别模型:标注到训练相关推荐

  1. 基于stm32f429的手写识别_关注智能手机老年用户:百度输入法手写模型迎来重磅升级...

    智能手机的快速普及让很多人都已经习惯于任何事情都用手机办理,不仅外出买东西.乘坐公共交通可以使用智能手机支付,同时一些与工作.政务相关的事情也可以在智能手机端完成,而社交工具更是让人们几乎已经不再使用 ...

  2. 技术 | 苹果最新博文剑指汉字手写识别!专家回应:并没有技术含量

    参与 | 鸽子,Shawn 今日,苹果再次更新其博客,这次的内容主打手写识别,而且是对汉字的手写识别.是不是挺好奇的,先来看看这篇论文的简介: 对由30000字符构成的大型汉字字符库进行实时手写汉字识 ...

  3. python简单代码演示效果-10分钟教你用python 30行代码搞定简单手写识别!

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 手写笔记还是电子笔记好呢? 毕业季刚结束,眼瞅着2018级小萌新马上就要来了,老腊肉小编为了咱学弟学妹们的学习,绞尽脑汁准备编一套大学秘籍, ...

  4. AI应用开发实战 - 手写识别应用入门

    AI应用开发实战 - 手写识别应用入门 手写体识别的应用已经非常流行了,如输入法,图片中的文字识别等.但对于大多数开发人员来说,如何实现这样的一个应用,还是会感觉无从下手.本文从简单的MNIST训练出 ...

  5. AI应用开发实战系列之三:手写识别应用入门

    AI应用开发实战 - 手写识别应用入门 手写体识别的应用已经非常流行了,如输入法,图片中的文字识别等.但对于大多数开发人员来说,如何实现这样的一个应用,还是会感觉无从下手.本文从简单的MNIST训练出 ...

  6. Tensorflow快餐教程(1) - 30行代码搞定手写识别

    摘要: Tensorflow入门教程1 去年买了几本讲tensorflow的书,结果今年看的时候发现有些样例代码所用的API已经过时了.看来自己维护一个保持更新的Tensorflow的教程还是有意义的 ...

  7. 最终章 | TensorFlow战Kaggle“手写识别达成99%准确率

    刘颖,某互联网创业公司COO,技术出身,做产品里最懂运营的. 这是一个TensorFlow的系列文章,本文是第三篇,在这个系列中,你讲了解到机器学习的一些基本概念.TensorFlow的使用,并能实际 ...

  8. 用TensorFlow做Kaggle“手写识别”达到98%准确率-详解

    (点击"阅读原文"即可进入查看课程表) 刘颖,某互联网创业公司COO,技术出身,做产品里最懂运营的. 这是一个TensorFlow的系列文章,本文是第三篇,在这个系列中,你讲了解到 ...

  9. cnn神经网络可以用于数据拟合吗_使用Keras搭建卷积神经网络进行手写识别的入门(包含代码解读)...

    本文是发在Medium上的一篇博客:<Handwritten Equation Solver using Convolutional Neural Network>.本文是原文的翻译.这篇 ...

  10. tensorflow+python flask进行手写识别_python+flask搭建CNN在线识别手写中文网站!简直太屌了!...

    原标题:python+flask搭建CNN在线识别手写中文网站!简直太屌了! 使用python+flask搭建的一个网站,然后从网页的写字板上获取鼠标手写的汉字经过转码后传回后台,并经过图片裁剪处理之 ...

最新文章

  1. PADS Router VX.2.3 设置光标的类型
  2. XamarinEssentials教程设置首选项Preferences的值
  3. 安装Ubuntu 18.04后的一些操作
  4. FZU - 2268 Cutting Game
  5. python爬虫知乎图片_python爬虫(爬取知乎答案图片)
  6. [2019杭电多校第七场][hdu6655]Just Repeat
  7. 深度学习处理概率分布中常用的函数
  8. CocosCreator编辑器界面
  9. 热门好用的邮编查询API
  10. PS零基础学习教程(一)
  11. 微信小程序实现圆形菜单弹出选中动画
  12. IP地址短缺该如何解决?
  13. 手机更新显示itunes store无法连接服务器,iPhone无法连接App Store、iTunes Store?解决方法有哪些?...
  14. python数据处理方法
  15. Python 3基础语法知识点都在这里了,如果还不能入门就不能怪我了
  16. 怎么用python编写程序计算标准差_python 标准差计算的实现(std)
  17. 多少天计算机通知用户更改密码,win10系统怎么设置电脑定期强制提醒用户更改登录密码...
  18. 2020Revit又是怎样进行正向建模的呢?适合Revit建模插件工具
  19. 刷题日记【第十三篇】-笔试必刷题【数根+星际密码+跳台阶扩展问题+快到碗里来】
  20. 作者:钱岭(1972-),男,博士,中移(苏州)软件技术有限公司大数据部高级工程师、总经理。...

热门文章

  1. 4.PCIe协议分析2-PIO XAPP1052 XDMA三者联系和区别详谈
  2. 基于鲸鱼优化深度混合核极限学习机的故障诊断方法
  3. visio专业版svg图片裁剪
  4. 微信小程序使用 ocr 身份证识别
  5. 设置win10有线网络连接
  6. 两个平面的位置关系和判定方程组解_高一数学必修二平面知识点详解
  7. vue+video.js实现前端视频流(hls、MP4、flv)
  8. 超详细图文介绍,华为桌面云解决方案
  9. 时间表达式java定时器_quartz定时任务时间表达式说明
  10. 微信小游戏 资源下载解压