用inception-v3重新訓練自己的數據模型
背景:
現代的圖像識別模型具有數以百萬計的參數,從頭開始訓練(Train from scratch)需要大量的樣本數據以及消耗巨大的計算資源(幾百個GPU),因此采用遷移學習的方式重訓一個模型(Retrain a model)對於學習模型的成本較低,利用Inception-V3作為已經訓練好的模型,來實現自己的圖像分類識別。
inception模型文件目錄介紹:

data目錄:需要訓練的數據放在該目錄: inception_model:把下載inception模型放在該目錄下:

test_images:把訓練完成之后,測試圖片所放目錄
數據准備完成之后,按以下步驟執行:
步驟1:
windows:
運行批處理文件retrain.bat
python retrain.py ^ --bottleneck_dir bottleneck ^ #自行生成每個訓練圖片的數據 --how_many_training_steps 200 ^ #步數 --model_dir inception_model ^ #模型 --output_graph output_graph.pb ^ #訓練后輸出模型 --output_labels output_labels.txt ^ #訓練后輸出label --image_dir data pause
Ubuntu:
運行批處理文件retrain.sh
步驟2:
訓練完成后,測試如下
Python predict.py
測試結果如下:

結論:如果測試物體不相似,識別率很高,但是如果物體形狀相似,識別率則不高
源碼:https://pan.baidu.com/s/1qdRmnQsRv5k3QesZxRC9QA 提取碼:jipt
