如何动手做一个识别手写数字的web应用
如何动手做一个识别手写数字的web应用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
抚远网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联公司从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
01
进入docker容器
我们使用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.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里直观的查看:
先查看下读取的图片数组维度:
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应用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
分享文章:如何动手做一个识别手写数字的web应用
本文来源:http://myzitong.com/article/ijgopo.html