社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python+flask搭建CNN在线识别手写中文网站

大数据挖掘DT机器学习 • 5 年前 • 726 次点击  


向AI转型的程序员都关注了这个号👇👇👇

大数据挖掘DT机器学习  公众号: datayx



使用python+flask搭建的一个网站,然后从网页的写字板上获取鼠标手写的汉字经过转码后传回后台,并经过图片裁剪处理之后传入CNN手写中文识别的模型中进行识别,最后通过PIL将识别结果生成图片,最后异步回传给web端进行识别结果展示。中文总共50,000多汉字,常用的有3,755个。这里主要对常见的3755个汉字进行识别。


代码获取:

关注微信公众号 datayx  然后回复 手写识别 即可获取。




一、数据集

     目前国内有很多优秀的中文手写识别数据集。例如:北京邮电大学模式识别实验室发布的数据(HCL2000),它是目前最大的脱机手写汉字库,共有1,000个人书写,除了汉字样本库外,还有一个对应的书写者信息库,记录了书写者的年龄、职业、文化程度等信息,用于研究相关影响因素。目前此数据库免费向研究者公开。本文使用的是中科院自动研究所的分享的中文手写数据集CASIA-HWDB(下载地址http://www.nlpr.ia.ac.cn/databases/handwriting/Home.html ),由187个人通过Wacom笔在线输入的手写汉字。


二、CNN结构:

     用tensorflow库来实现【三个卷积层+三个池化层+两个全连接层】的卷积神经网络,结构如下图所示:



训练图片都修整成64x64大小,这里我只训练常见的3755个汉字,在CNN识别数字的模型结构上再添加了一个卷积层和池化层,其他结构差不多。

     将下载好的HWDB数据集解压处理好开始训练,这个训练过程比较长,我最终在GPU:GTX1050Ti上迭代了12,000次花费几个小时,最终取最可能的前三个预测值


三、加载模型

     我训练模型迭代了12,000次之后,将训练参数保存在checkpoint文件夹中,不过因为单个文件大小的限制,训练好的模型文件从百度云上下载:

链接: https://pan.baidu.com/s/1eSWBIyI

密码: kv2r

     下载之后直接覆盖checkpoint文件夹。


四、环境

  • python 3.6.1;

  • flask 0.12.2;

  • tensorflow 1.3.0;

  • pillow 4.2.1;

  • pickleshare 0.7.4;

  • numpy 1.13.1;


五、运行

1、克隆项目,然后按照环境要求安装好相应的库(使用pip安装);
2、从百度云下载训练好的模型文件,放到相应的checkpoint文件夹下;
3、使用python run.py运行;
4、打开本地浏览器输入localhost:5000进行查看;




阅读过本文的人还看了以下:


大神总结的机器学习的数学基础,掌握这些足够


基于评论、新闻的情感倾向分析作商品的价格预测


xgboost模型实战案例:预测未来一段时间的路段交通流量


《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码



不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  

长按图片,识别二维码,点关注







今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/M6sQjEcg7K
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/25042
 
726 次点击