前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自己动手做一个识别手写数字的web应用02

自己动手做一个识别手写数字的web应用02

作者头像
mixlab
发布2018-04-17 13:49:57
8390
发布2018-04-17 13:49:57
举报

继续上文。

自己动手做一个识别手写数字的web应用01

01

再次进入docker容器

接着上一篇文章,我们继续使用上次新建好的容器,可以终端输入 :

docker ps -a

如上图,找到上次run的容器,我这边是容器名(NAMES)为suspicious_cori,启动它,可以终端输入:

docker start suspicious_cori

然后,终端再输入:

docker exec -i -t suspicious_cori bash

即可在容器中开启一个交互模式的终端。

终端输入

jupyter notebook

新建一个notebook

02

加载训练好的模型

加载上一篇训练好的模型,在新建的notebook里输入:

from keras.models import model_from_json

model=model_from_json(open('my_model_architecture.json').read())

model.load_weights('my_model_weights.h5')

03

读取需要识别的手写字图片

引入用于读取图片的库:

import matplotlib.image as mpimg

读取位于kerasStudy目录下的图片:

img = mpimg.imread('test.png')

'''

matplotlib只支持PNG图像,读取和代码处于同一目录下的 test.png ,注意,读取后的img 就已经是一个 np.array 了,并且已经归一化处理。

'''

'''

上文的png图片是单通道图片(灰度),如果test.png是rgb通道的图片,可以rgb2gray进行转化,代码如下:

def rgb2gray(rgb):

return np.dot(rgb[...,:3], [0.299, 0.587, 0.114])

img = rgb2gray(img)

'''

关于图片的通道,我们可以在photoshop里直观的查看:

先查看下读取的图片数组维度:

print(img.shape)

输出是(28, 28)

转化成正确的输入格式:

img = img.reshape(1, 784)

打印出来看看:

print(img.shape)

输出是(1, 784)

04

识别的手写字图片

输入:

pre=model.predict_classes(img)

打印出来即可:

print(pre)

识别出来是6:

1/1 [==============================] - 0s
[6]

至此,你已经学会了从训练模型到使用模型进行识别任务的全过程啦。

有兴趣可以试着替换其他的手写字图片进行识别看看。

当然也可以写个后端服务,部署成web应用。

关于第2部分Keras加载训练好的模型及预测的源代码文件,可以在后台留言,索取。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科技Mix设计Lab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档