YOLOv2+MobileNet,windows下除錯
阿新 • • 發佈:2019-01-31
看作者github更新了YOLO2程式碼,加入了groups機制,加了LSTM功能。要實現基於MobileNet的YOLO2,根據之前基於darknet的YOLO2版本可以簡單修改。幾個修改的地方:
1、部分原始檔中net定義變為指標。比如parser.c檔案。一一修改。
2、在data.c中執行緒程式碼段,有些產生隨機數的程式碼需要修改,否則訓練會一直跑同一張影象。比如
rand()%m,用沒有groups版本的替換即可。
3、一些函式引數數量改變,需要新增。
4、darknet.h前面加上定義:
#if (defined(WIN32) || defined(WIN64)) && !defined(__cplusplus) #define inline __inline #endif
其他零零散散修改,剩下就是寫MobileNet的網路結構檔案,可以參考宋木,訓練正常,但是感覺MobileNet_voc訓練速度比darknet_voc慢了,而且沒有預訓練模型,模型大小190M左右,比darknet版本(260M)的降低30%左右。我的配置不高,訓練起來收斂不了,loss在15左右一直降不下去,而且測試時發現沒有任何檢測結果。一個可能是模型問題,一個可能是檢測程式碼的引數問題。
--------------------------------------------------------------------------------------
20180222
設定訓練引數,發現需要在較大學習率(0.001)下迭代較長時間(5000代改一次學習率),loss才會慢慢下降。