TensorFlow练习22: 手写汉字识别

MNIST手写数字数据集通常做为深度学习的练习数据集,这个数据集恐怕早已经被大家玩坏了。本帖就介绍一个和MNIST类似,同时又适合国人练习的数据集-手写汉字数据集,然后训练一个简单的Deep Convolutional Network识别手写汉字。

识别手写汉字要把识别手写洋文难上很多。首先,英文字符的分类少,总共10+26*2;而中文总共50,000多汉字,常用的就有3000多。其次,汉字有书法,每个人书写风格多样。

手写汉字数据集: CASIA-HWDB

下载HWDB1.1数据集:

这个数据集由模式识别国家重点实验室共享,它还共享了其它几个数据库,先mark:

  • 行为分析数据库
  • 三维人脸数据库
  • 中文语言资源库
  • 步态数据库
  • 掌纹数据库
  • 虹膜库数据

手写汉字的样子:

TensorFlow练习: 手写汉字识别

由于时间和系统资源有限,我只使用数据集的一部分(只识别最常用的140个汉字)。

训练模型

Computation Graph:

TensorFlow练习22: 手写汉字识别

loss:

TensorFlow练习22: 手写汉字识别

准确率:

TensorFlow练习22: 手写汉字识别

@想飞的石头做的升级版:https://zhuanlan.zhihu.com/p/24698483?refer=burness-DL

如要转载,请保持本文完整,并注明作者@斗大的熊猫和本文原始地址: http://blog.topspeedsnail.com/archives/10897

相关文章

《TensorFlow练习22: 手写汉字识别》有3个想法

  1. 楼主,您好,我在运行您的这个程序的时候出现了这个错误:ValueError: Cannot feed value of shape (128, 420) for Tensor u’Placeholder_1:0′, which has shape ‘(1, 140)’。其中就是运行到153这一行代码时出错: feed_dict={X: batch_x, Y: batch_y, keep_prob: 0.5}),求楼主解答。。。。跪谢

    1. 根据您的原本代码运行后,报错信息是ValueError: Cannot feed value of shape (128, 420) for Tensor u’Placeholder_1:0′, which has shape ‘(?, 140)’

  2. 你好,我是一名大四学生。我的毕设做的是数字及英文字符的识别(一共10+26*2=62个字符),和你的140个汉字识别很像。我已经把数据处理好了,但是用你的网络识别率一直都在0.01,排除了数据预处理的问题,one-hot(长度为62)和image数据格式没问题。现在在想是不是神经网络的某些参数没改对?求大神指导训练62种字符的字符集,你的模型的某些参数该如何修改?谢谢了

发表评论

电子邮件地址不会被公开。 必填项已用*标注