您好,登錄后才能下訂單哦!
如何動手做一個識別手寫數字的web應用,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
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應用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。