1. 程式人生 > >YOLOv2+MobileNet,windows下除錯

YOLOv2+MobileNet,windows下除錯

作者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才會慢慢下降。