9行python學習cnn卷積神經網絡,怎樣深度學習植物圖片進行分類?

文中程序使用CNN(Convolutional Neural Network)卷積網絡,對5種花類圖集進行深度學習,得到訓練結果後再利用程序識別。

9行代碼指訓練程序主函數的程序行數。卷積神經網絡實現函數有卷積層和池化層具體代碼演示方法和公式。

文中對卷積神經網絡cnn對5種花卉的訓練結果保存和調用也給出了比較明確的方法以供學習!

9行python學習cnn卷積神經網絡,怎樣深度學習植物圖片進行分類?

卷積神經網絡cnn原理動圖

上圖演示卷積神經網絡原理!

卷機神經網絡包括

a.輸入層(統一花卉圖片為100*100大小後輸入)

b.卷積計算層(CONV):進行求和線性乘積運算。對圖片區域處理特徵

c.激勵層(RELU),ReLU是激活函數的一種,普遍適用於卷積神經網絡。

d.池化層(POOL),取區域平均或最大,縮小數據維度,增加數據厚度

e.全連接層(FC),綜合數據得出結果

對於圖像深度學習卷積層是最重要的!“卷積”操作是對不同窗口數據做逐個元素相乘再求和(內積)操作,這是名字來源。

9行python學習cnn卷積神經網絡,怎樣深度學習植物圖片進行分類?

5種花卉

5類花卉包括daisy雛菊633張圖片、dandelion蒲公英898張圖片、rose玫瑰641圖片、sunflower向日葵699張圖片、tulip鬱金香799張圖片。每個花卉對應不同目錄!總共數據228M.文章種的瞭解更多可以得到圖片集。大家要注意解壓到全英文目錄。

9行python學習cnn卷積神經網絡,怎樣深度學習植物圖片進行分類?

主要神經網絡函數

主卷積神經網絡cnn函數。 卷積層數據集全都採用了補0,經過卷積層後長度、寬度不變,深度加大。池化層保持原尺寸,經過池化層長度和寬度減小,深度不變。 數據集尺寸變化為:

100×100×3

100×100×32

50×50 ×32

50×50 ×64

25×25 ×64

25×25 ×128

12×12 ×128

12×12 ×128

6×6 ×128

可以看到經過卷積處理和池化處理,數據集長寬不斷減小,厚度增加,於上面卷積神經網絡原理動圖對應!

9行python學習cnn卷積神經網絡,怎樣深度學習植物圖片進行分類?

程序識別花卉

程序準確率大概在65%左右。谷歌的Inception-v3花卉數據集分類準確率在95%左右。

我們把網上下載的花圖片保存到flwtst測試,最終給出了正確判斷。另外各個目錄都在程序開頭可以更改。

下幾期文章我們對參數調優,可以直觀提高驗證準確率,也逐步瞭解卷積神經網絡各個層的細節!請關注我們!

通過右下角瞭解更多可以下載本文程序。也可以灌住我們後,給我留言私信獲得程序!

另外我們有詳細的環境配置文章,關注我們後可以再以前文章中找到!我們環境是肯定能運行本文程序!昂鈦客ai專注人工智能社群,提供最簡單上手案例!請關注我們、留言、點贊!

9行python學習cnn卷積神經網絡,怎樣深度學習植物圖片進行分類?

謝謝關注

相關推薦

推薦中...