本文使用的圖片是畫圖工具繪製的,模型也是自己訓練出來的,以tensorflow作爲後端,使用keras API運行,希望能給大家實現模型部署與應用開發當中模型加載、數據預處理、模型預測一個入門的瞭解,如有錯誤,歡迎指正
運行環境:
keras 2.3.1
opencv-python 4.1.2.30
numpy 1.17.4
tensorflow-gpu 1.13.1
準備一張格式爲28*28像素圖片:
from keras.models import load_model
import cv2
model=load_model('自制手寫數據集模型.h5') # 加載模型
# imread第2個參數 0爲灰白 1爲彩色,默認不加也爲彩色,手寫數字識別需要對圖片數據灰度化處理
img=cv2.imread('9.png',0)
# 查看圖片
cv2.imshow('image1',img)
cv2.waitKey(0)
# 改變圖片形狀格式爲28*28,所以像素是784,併除於255歸一化
img=(img.reshape(1,784))/255
forecast=model.predict_classes(img) # 預測模型
print(forecast)
輸出結果是:3
也可以把
img=(img.reshape(1,784))/255
寫成2維的形狀,然後再進行降維
img=(img.reshape(1,1,28,28))/255
img = img.reshape(len(img),-1) # 2維降成1維