在Windows上调试TensorFlow 2.0 中文手写字识别(汉字OCR)

一、环境的搭建
Windows+1080Ti+Cuda10.1
Tsorflow2.0.0
Numpy1.16.4
注意:这里tensorflow和numpy的版本一定不能错,要不然后面会有意想不到的bug!!

二、数据的准备
数据全部来自于CASIA的开源中文手写字数据集,该数据集分为两部分:
CASIA-HWDB:离线的HWDB,我们仅仅使用1.0-1.2,这是单字的数据集,2.0-2.2是整张文本的数据集,我们暂时不用,单字里面包含了约7185个汉字以及171个英文字母、数字、标点符号等;
CASIA-OLHWDB:在线的HWDB,格式一样,包含了约7185个汉字以及171个英文字母、数字、标点符号等,我们不用。
可以直接运行 dataset/get_hwdb_1.0_1.1.sh 下载,原始数据下载链接点击这里

关于数据的处理部分,从服务器下载到的原始数据是 trn_gnt.zip 解压之后是 gnt.alz, 需要再次解压得到一个包含 gnt文件的文件夹;再次解压的时候可能普通的解压软件使用不了,可以点击这里下载ALZip这个解压软件,解压后里面每一个gnt文件都包含了若干个汉字及其标注。将得到的训练和测试数据分别放到两个文件夹里。

三、数据的训练
1.首先将解压后的gnt文件转换为tfrecord(训练数据测试数据都需转)
这里在读数据的时候可能会报gbk编码的错误,需要在后面加上encoding=“UTF-8”

转tfrecord指令:python convert_to_tfrecord.py ./gntDataTrn
python convert_to_tfrecord.py ./gntDataTst

2.生成tfrecord后就可以训练了,训练之前需要在train_simple.py导包的地方添加几行GPU均衡的代码,不然可能会报显存不足的错。

from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSessionconfig=ConfigProto()
config.gpu_options.allow_growth=True
session=InteractiveSession(config=config)

3.根据自己的显卡配置修改这训练代码里的两处的batch,代码中的epochs默认是15000,设置到120~150之间就OK。

4. 如果你找不到alfred模块, 通过 pip3 install alfred-py进行安装。
5. 运行的时候如果报tensorflow只能用2.1.0的错,可以把tensorflow_datasets降低版本试试。
训练指令:python train_simple.py

在这里我训到200个epochs,准确率达到98左右,测试集准确率80左右(已初步优化)。

四、模型的测试
测试指令:python demo.py
因为是在windows上测试的,测试出的结果是字节形式的,需要在测试代码的64行加上encoding=“utf-8”

测试出的效果:

源码链接:https://github.com/jjcheer/ocrcn_tf2
哈哈哈哈哈!!!第一次写博客可能写的有点儿哆嗦,请各位见谅_^!!!

在Windows上调试TensorFlow 2.0 中文手写字识别(汉字OCR)相关推荐

  1. .net 数字转汉字_TensorFlow 2.0 中文手写字识别(汉字OCR)

    TensorFlow 2.0 中文手写字识别(汉字OCR) 在开始之前,必须要说明的是,本教程完全基于TensorFlow2.0 接口编写,请误与其他古老的教程混为一谈,本教程除了手把手教大家完成这个 ...

  2. python手写汉字识别_TensorFlow 2.0实践之中文手写字识别

    问题导读: 1.相比于简单minist识别,汉字识别具有哪些难点? 2.如何快速的构建一个OCR网络模型? 3.读取的时候有哪些点需要注意? 4.如何让模型更简单的收敛? 还在玩minist?fash ...

  3. python 调用 tensorflow.dll_解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题...

    最近打算开始研究一下机器学习,今天在windows上装tensorflow花了点功夫,其实前面的步骤不难,只要依次装好python3.5,numpy,tensorflow就行了,有一点要注意的是目前只 ...

  4. 在 Windows 上安装 TensorFlow(转载)

    在 Windows 上安装 TensorFlow windows下配置安装Anaconda+tensorflow Spyder--科学的Python开发环境 Windows7 安装TensorFlow ...

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

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

  6. 基于tensorflow的MNIST手写字识别

    一.卷积神经网络模型知识要点卷积卷积 1.卷积 2.池化 3.全连接 4.梯度下降法 5.softmax 本次就是用最简单的方法给大家讲解这些概念,因为具体的各种论文网上都有,连推导都有,所以本文主要 ...

  7. TensorFlow基于minist数据集实现手写字识别实战的三个模型

    手写字识别 model1:输入层→全连接→输出层softmax model2:输入层→全连接→隐含层→全连接→输出层softmax model3:输入层→卷积层1→卷积层2→全连接→dropout层→ ...

  8. 用TensorFlow教你手写字识别

    1.MNIST数据集 基于MNIST数据集实现手写字识别可谓是深度学习经典入门必会的技能,该数据集由60000张训练图片和10000张测试图片组成,每张均为28*28像素的黑白图片.关于数据集的获取, ...

  9. 在Windows上安装Elasticsearch 5.0

    在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...

最新文章

  1. 亚马逊自动打包机:1机可顶24人
  2. js中 replace(/\//g, '') 什么作用. 正则表达式
  3. FPGA之道(22)VHDL基本程序框架
  4. 全球与中国植物基液压油市场供需预测及未来发展展望报告2022-2028年版
  5. 论两大数学家是如何撕破脸的!
  6. Ubunt 配置网络服务
  7. WordPress免费主题CorePress v4.9
  8. 菜鸟机器学习散点总结(一)
  9. ubuntu 分屏工具
  10. 条件概率与条件概率举例
  11. iOS - 视频开发
  12. SetStretchBltMode() 防止图片失真
  13. jsf+EJB开发实例
  14. [线性代数] 1.2 全排列和对换
  15. c#关于GMap离线地图加载的问题
  16. CryEngine5 Shader调试
  17. View补间动画Animation运行原理
  18. QTestWare简介
  19. LintCode入门题目
  20. 遮挡检测--基于角度的遮挡检测方法

热门文章

  1. 记录知识点---通过双任务一致性进行半监督医学图像分割
  2. ant upload 限制文件数量,多个错误提示问题
  3. BERT and beyond
  4. 微信小程序嵌入Udesk即时通讯网页插件
  5. 分享一款最新抽奖网站源码
  6. 2021-10-22CHCC2021易普森医疗服务机器人矩阵亮相,展会现场强势吸睛
  7. 极光推送 请检查参数合法性_极光大数据将于2019年8月16日公布第二季度财报
  8. 别再纠结到底学人工智能还是大数据?专家为你解读:人工智能和大数据两者的区别和联系
  9. NAT穿透技术详解(udp打洞精髓附代码)
  10. 蓝牙钥匙成为车物联主流