在Windows上调试TensorFlow 2.0 中文手写字识别(汉字OCR)
在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)相关推荐
- .net 数字转汉字_TensorFlow 2.0 中文手写字识别(汉字OCR)
TensorFlow 2.0 中文手写字识别(汉字OCR) 在开始之前,必须要说明的是,本教程完全基于TensorFlow2.0 接口编写,请误与其他古老的教程混为一谈,本教程除了手把手教大家完成这个 ...
- python手写汉字识别_TensorFlow 2.0实践之中文手写字识别
问题导读: 1.相比于简单minist识别,汉字识别具有哪些难点? 2.如何快速的构建一个OCR网络模型? 3.读取的时候有哪些点需要注意? 4.如何让模型更简单的收敛? 还在玩minist?fash ...
- python 调用 tensorflow.dll_解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题...
最近打算开始研究一下机器学习,今天在windows上装tensorflow花了点功夫,其实前面的步骤不难,只要依次装好python3.5,numpy,tensorflow就行了,有一点要注意的是目前只 ...
- 在 Windows 上安装 TensorFlow(转载)
在 Windows 上安装 TensorFlow windows下配置安装Anaconda+tensorflow Spyder--科学的Python开发环境 Windows7 安装TensorFlow ...
- tensorflow+python flask进行手写识别_python+flask搭建CNN在线识别手写中文网站!简直太屌了!...
原标题:python+flask搭建CNN在线识别手写中文网站!简直太屌了! 使用python+flask搭建的一个网站,然后从网页的写字板上获取鼠标手写的汉字经过转码后传回后台,并经过图片裁剪处理之 ...
- 基于tensorflow的MNIST手写字识别
一.卷积神经网络模型知识要点卷积卷积 1.卷积 2.池化 3.全连接 4.梯度下降法 5.softmax 本次就是用最简单的方法给大家讲解这些概念,因为具体的各种论文网上都有,连推导都有,所以本文主要 ...
- TensorFlow基于minist数据集实现手写字识别实战的三个模型
手写字识别 model1:输入层→全连接→输出层softmax model2:输入层→全连接→隐含层→全连接→输出层softmax model3:输入层→卷积层1→卷积层2→全连接→dropout层→ ...
- 用TensorFlow教你手写字识别
1.MNIST数据集 基于MNIST数据集实现手写字识别可谓是深度学习经典入门必会的技能,该数据集由60000张训练图片和10000张测试图片组成,每张均为28*28像素的黑白图片.关于数据集的获取, ...
- 在Windows上安装Elasticsearch 5.0
在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...
最新文章
- 亚马逊自动打包机:1机可顶24人
- js中 replace(/\//g, '') 什么作用. 正则表达式
- FPGA之道(22)VHDL基本程序框架
- 全球与中国植物基液压油市场供需预测及未来发展展望报告2022-2028年版
- 论两大数学家是如何撕破脸的!
- Ubunt 配置网络服务
- WordPress免费主题CorePress v4.9
- 菜鸟机器学习散点总结(一)
- ubuntu 分屏工具
- 条件概率与条件概率举例
- iOS - 视频开发
- SetStretchBltMode() 防止图片失真
- jsf+EJB开发实例
- [线性代数] 1.2 全排列和对换
- c#关于GMap离线地图加载的问题
- CryEngine5 Shader调试
- View补间动画Animation运行原理
- QTestWare简介
- LintCode入门题目
- 遮挡检测--基于角度的遮挡检测方法