當前位置:
首頁 > 最新 > 一個小例子帶你輕鬆Keras圖像分類入門

一個小例子帶你輕鬆Keras圖像分類入門

雲棲君導讀: 本文通過一個具體的小例子帶你入門Keras圖像分類,希望各位能夠通過這篇文章能夠學習到一些圖像分類的基本操作。

這篇文章主要介紹一些在Keras中需要的常見操作。這些常見操作包括:如何保存模型並在稍後使用它們進行預測,顯示數據集中的圖像以及從系統中載入圖像並預測其類別。

訓練模型是一個循序漸進的過程,十分緩慢。但是,在這裡,我們需要訓練我們的模型一次,然後保存,這樣我們就可以隨時載入,並用它來預測新的圖像。Keras將模型保存為.h5格式,如果你在作者發布的第一個教程中已經安裝過h5py,請跳過,如果沒有,請運行:

我們還需要matplotlib來形象化我們的圖像,因此,運行:

這是第一個小例子的代碼:

想保存模型,需要在model.fit()之後添加:

推理是指使用我們的模型預測新圖像的過程。在你的代碼中,注釋上:model.fit

用以替換以下的內容:model.load_weights("mnistmodel.h5")

我們的代碼現在看起來像這樣:

我們在這裡所做的是從保存的模型文件中載入出模型的參數,評估函數在測試數據集上運行預測,並給出預測的準確性。

截止到目前,以上演示了如何保存模型並使用它們進行預測。真正需要解決的問題是載入出一個特定的圖像,並確定它是屬於什麼類型的。

第一步是添加下面的代碼來獲得測試中的特定圖像的預測:

在這裡,我們只是選擇一個隨機圖像,在這種情況下,在測試集的索引130處,我們創建一個平整的副本,重新整形:(1,784)。

我們將這個副本加入到我們的模型中,然後我們獲得預測並列印出來。

在代碼中注釋掉model.evaluate,添加上面的代碼並運行它。

你將會輸出 class :6

現在我們已經預測了,接下來我們就需要使用matplolib來顯示圖像及其預測的類型:

這些操作是非常必要的,因為使用matplotlib將會非常直觀的顯示我們的預測結果是否正確。

這樣我們的代碼就會變成:

運行這段代碼,你的輸出應該是下面這張圖片,這意味著我們已經建立了一個基本的數字識別系統,你也可以嘗試不同的測試圖像索引,看看將得到些什麼。

但是,如果想引入測試集中沒有的圖像,那麼你需要將以下圖像保存到你的系統中,並將其複製到python文件所在的目錄中。

運行下面的代碼:

你可能會注意到我們使用了一些新的東西,首先我們從Keras.preprocessing中導入了圖像,然後加了:

在第一行中,我們從磁碟載入圖像,並指定它應該調整大小為28*28*1,請記住,這是原始mnist圖像的尺寸,它的作用是讓我們保持圖像識別過程中的穩定。接下來,我們將圖像轉換為一個像素數組,這才是我們真正要識別的。運行它並自己檢查結果,預測其結果是否是3。

-END-

雲棲社區

ID:yunqiinsight

雲計算丨互聯網架構丨大數據丨機器學習丨運維

點此閱讀詳細內容!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲棲社區 的精彩文章:

零基礎入門:對象檢測及其演算法指南

TAG:雲棲社區 |