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

简介:

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

aec57cc8279ee9830f44f79e9f28492753c43c40

一、数据集

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

二、CNN结构:

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

15b6e046369fd6b27c3f3aa906f8557ad4cd50da

训练图片都修整成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进行查看;



原文发布时间为:2018-10-14

本文来自云栖社区合作伙伴“大数据挖掘DT机器学习 ”,了解相关信息可以关注“大数据挖掘DT机器学习 ”。

相关文章
|
JavaScript 前端开发 Android开发
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
614 13
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
8月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
1412 2
|
9月前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
965 2
|
9月前
|
机器学习/深度学习 数据采集 算法
独家原创 | CEEMDAN-CNN-GRU-GlobalAttention + XGBoost组合预测研究(Python代码实现)
独家原创 | CEEMDAN-CNN-GRU-GlobalAttention + XGBoost组合预测研究(Python代码实现)
325 2
|
10月前
|
SQL 前端开发 JavaScript
基于python+django开发的在线求职招聘网站-网上招聘管理系统
该系统是基于python+django的求职招聘网站、网上招聘管理系统、网上人才招聘系统、毕业生求职招聘系统、大学生求职招聘系统、校园招聘系统、企业招聘系统。系统适合场景:大学生、课程作业、毕业设计。这是一个前后端分离的项目,需要同学们学习django技术和vue技术。
690 3
|
10月前
|
机器学习/深度学习 数据采集 算法
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
495 4
|
10月前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
568 0
|
数据采集 前端开发 JavaScript
Python爬虫如何应对网站的反爬加密策略?
Python爬虫如何应对网站的反爬加密策略?
989 11
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
1190 86
|
数据可视化 Python
【负荷预测】基于变分模态分解(VMD-CNN-LSTM)的短期电力负荷预测【Python】
本项目实现了一种基于变分模态分解(VMD)的短期电力负荷预测模型——VMD-CNN-LSTM。通过VMD技术将原始电力负荷数据分解为多个平稳子序列,结合温度和时间等特征构建矩阵,输入CNN-LSTM模型训练,最终叠加重构得到预测结果。此方法有效应对非线性和非平稳性引起的误差,精度高且稳定性强。程序采用Python编写,注释清晰,运行稳定,并提供直观的可视化结果。附带部分代码及详细运行结果展示,下载链接已提供。

热门文章

最新文章

推荐镜像

更多