【IT168 資訊】在這篇文章中,將解釋一些在keras中經常需要的常見操作。首先,如何保存模型並使用它們進行預測,從數據集中顯示圖像並從加載系統中圖像並預測其類別。
如果你還沒有這樣做,可以啟動你的IDE跟著文章,一起來操作。
保存模型
訓練模型是一個非常緩慢的過程,沒有人希望每次都這樣做,幸運的是,我們只需要訓練我們的模型一次,保存,然後就可以隨時加載,並用它來預測新的圖像。
Keras將模型保存為h5格式,所以如果你在發布的第一個教程中跳過了h5py的安裝,請運行:
我們還需要matplotlib來形象化我們的圖像,因此,運行
這是第一個教程的代碼:
了保存模型,只需在模型之後添加以下內容。
推理
推理是指使用我們的模型預測新圖像的過程。
在你的代碼中,標註出
取而代之的是下面的內容。
我們的代碼現在是這樣的。
我們在這裡所做的是從保存的模型文件中加載模型的參數,評估函數在測試數據集上運行預測,並返回我們預測的準確性。
到目前為止,已經演示了如何保存模型並稍後使用它們進行預測,然而,這些都是無聊的事情,真正的協議是能夠加載一個特定的圖像,並確定它屬於什麼類別。
第一步是添加下面的代碼以獲得測試的特定圖像的過程。
這裡我們選擇一個隨機的圖像,在這個例子中,從測試集的索引130中,我們創建了一個扁平的副本,它被重新塑造。
將這個副本加入到我們的模型中,接下來得到預測並列印出來。
在代碼中注釋掉model.evaluate,添加上面的代碼並運行它。
你的輸出應該是這樣的:
現在已經有了預測,我們使用matplotlib來顯示圖像和它的預測類別。
這裡的重塑操作是必要的,以使matplotlib顯示圖像
你的更新代碼應該都是這樣的
運行它,得到的輸出應該是這個。比較簡單,因為已經建立了一個基本的數字識別系統。
鼓勵嘗試不同的測試圖像索引,可以親自查看結果如何。
但是,如果想引入未包含在測試集中的圖像,那麼請將下面的圖像保存到系統中,並將其複製到python文件所在的目錄中。
運行下面的代碼
你可能會注意到這裡有一些新東西,首先是從keras.preprocessing導入圖像。
接下來,我們加了
在第一行中,我們從磁碟加載圖像,並指定它應該調整大小為28 x 28 x 1,請記住,這是原始mnist圖像的尺寸,所以它的優點就是保持恆定。
接下來,我們將圖像轉換為一個像素數組,這就是全部。
運行它並自己檢查結果,查看預測結果是否為3。