文中程序使用CNN(Convolutional Neural Network)卷積網絡,對5種花類圖集進行深度學習,得到訓練結果後再利用程序識別。
9行代碼指訓練程序主函數的程序行數。卷積神經網絡實現函數有卷積層和池化層具體代碼演示方法和公式。
文中對卷積神經網絡cnn對5種花卉的訓練結果保存和調用也給出了比較明確的方法以供學習!
上圖演示卷積神經網絡原理!
卷機神經網絡包括
a.輸入層(統一花卉圖片為100*100大小後輸入)
b.卷積計算層(CONV):進行求和線性乘積運算。對圖片區域處理特徵
c.激勵層(RELU),ReLU是激活函數的一種,普遍適用於卷積神經網絡。
d.池化層(POOL),取區域平均或最大,縮小數據維度,增加數據厚度
e.全連接層(FC),綜合數據得出結果
對於圖像深度學習卷積層是最重要的!“卷積”操作是對不同窗口數據做逐個元素相乘再求和(內積)操作,這是名字來源。
5類花卉包括daisy雛菊633張圖片、dandelion蒲公英898張圖片、rose玫瑰641圖片、sunflower向日葵699張圖片、tulip鬱金香799張圖片。每個花卉對應不同目錄!總共數據228M.文章種的瞭解更多可以得到圖片集。大家要注意解壓到全英文目錄。
主卷積神經網絡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
可以看到經過卷積處理和池化處理,數據集長寬不斷減小,厚度增加,於上面卷積神經網絡原理動圖對應!
程序準確率大概在65%左右。谷歌的Inception-v3花卉數據集分類準確率在95%左右。
我們把網上下載的花圖片保存到flwtst測試,最終給出了正確判斷。另外各個目錄都在程序開頭可以更改。
下幾期文章我們對參數調優,可以直觀提高驗證準確率,也逐步瞭解卷積神經網絡各個層的細節!請關注我們!
通過右下角瞭解更多可以下載本文程序。也可以灌住我們後,給我留言私信獲得程序!
另外我們有詳細的環境配置文章,關注我們後可以再以前文章中找到!我們環境是肯定能運行本文程序!昂鈦客ai專注人工智能社群,提供最簡單上手案例!請關注我們、留言、點贊!