如何动手做一个识别手写数字的web应用

发布时间:2022-01-04 18:55:47 作者:柒染
来源:亿速云 阅读:133

如何动手做一个识别手写数字的web应用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

 01 

进入docker容器

我们使用docker容器,可以终端输入 :

docker ps -a

如何动手做一个识别手写数字的web应用

如上图,找到上次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.h6')

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里直观的查看:

如何动手做一个识别手写数字的web应用

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

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应用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. spl中如何实现手写数字识别
  2. Tensorflow训练MNIST手写数字识别模型

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

web

上一篇:如何用iMovie制作预告片

下一篇:RTSP依旧沿用至今的原因是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》