YOLO2訓練

小魔大樹哥發表於2017-06-27

     YOLO2訓練小記:

        用了600張影象,製作訓練集,設定batch = 30,subdivisions = 6, 設定每10個batch後就輸出一箇中間模型,我把yolo-voc_20.weights,yolo-voc_30.weights,yolo-voc_40.weights分別test,yolo-voc_20.weights,yolo-voc_30.weights兩個模型測試出來的結果,每張圖有好多檢測框,而且沒有框到object,而yolo-voc_40.weights則沒有檢測框出來。還沒找到原因。07-06-28


---------------------------------------------------------------------------------------------------------------

今天,上面的問題已解決。

一個是訓練的程度未達到,一個是改用yolo-voc.2.0.cfg來訓練。

之前只是想小規模訓練看看效果,所以在cpu上進行訓練,速度實在是龜速,今天改用gpu+CUDA+cudnn,大大提高速度,只設定6000次迭代,中間過程的拿來測試,總算是正常了。

Yolo2:cpu(i5)上速度是8~10s/幀,GPU(1060)上速度是1~2s/幀,加上CUDNN加速是30到80ms/幀。

內容已經上傳至下載點選開啟連結,請自行下載查閱,ps:之前有上傳一份,後面檢視影象都亂掉,不懂哪出問題。這裡重新傳了一份。

推薦看這些博文

http://blog.csdn.net/renhanchi/article/details/71077830

http://blog.csdn.net/ch_liu23/article/details/53558549#comments

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

20170801

整理了一些資料進行訓練。發現兩種情況,一是訓練出來的模型檢測效果非常好,置信度非常高,都要接近1,有很多是1,然鵝對於沒有目標的影象進行檢測也非常容易誤檢,且置信度也非常高,這可能就是過擬合了。二是訓練出來的模型檢測效果一般,比如對一些暗的,訓練集沒有的影象無法檢測,而誤檢也是挺多。這應該就是沒收斂或區域性最優。

調整了一下訓練樣本分佈,效果還是沒有差多少,而且avg loss有時會在0.2左右徘徊不再下降。這兩天終於有了進展,一,增加訓練樣本的數量和多樣性,二,avg loss有時後穩定在一個較小數值是正常的,說明已經收斂到一定程度。但也要通過測試看看是不是過擬合了。根據自己的訓練結果測試看,對於單一類別檢測的情況,一般迭代到5000代,效果還不錯,到10000代,再好一點,但是誤檢還是相對較多,判斷是資料集還有訓練的收斂度不夠。

--------------------------------------------------------------------

20170901 訓練樣本增加,則iteration需要增加,這樣檢測率和誤檢率的綜合效果較好,10000的樣本需要5到10萬的iteration

---------------------------------------------------------------------

20171030

根據我的訓練樣本情況,設定cfg檔案中的迭代次數時,可以在較大的學習率時迭代次數設定大點,比如

steps=100,30000,50000,70000,100000
scales=10,.5,.1,0.5,0.5

這樣收斂性比較好。最後loss可以降低到10的-2次方級別

相關文章