YOLOV4學習系列(二) 訓練YOLOV4算法模型

前言

YOLOV4模型訓練流程和V3基本類似,不過仍然有一些需要注意的地方,否則很容易遇到各種問題。 

訓練

1)去AlexeyAB github上獲取源代碼

2)代碼編譯,這個和yolo3編譯差不多的。

3)重點講一下yolov4.cfg

在cfg子目錄下有yolov4.cfg和yolov4-custom.cfg。AlexeyAB建議基於yolov4-custom.cfg來對自己數據集進行模型訓練。需要修改的地方:

a)batch=64 subdivisions=16的修改:  YOLOV4訓練相對V3更耗顯存,所以這兩個值要根據顯存使用情況進行相應調整。

b)max_batches=xxx: 作者建議這個值設成 classes_num * 2000,比如說數據集一共有3個類型,那麼max_batches=6000。不過我個人建議可以根據測試情況來適當加大些。

c)steps=xxx,xxx: 作者建議這兩個值分別設成max_batches的80%和90%.

d)network size的width和height值 要分別設成 32的倍數。經典的有416x416  608x608等。

e)YOLOV4仍然有3個yolo層。每個yolo層裏面的classes值要和我們自己數據集類型數目相對應。

f)將每個yolo層前面的conv層裏面filters值改成(classes + 5)x3

4)數據集準備和V3一樣的,主要是注意預訓練模型需要換成下面這個:

yolov4.conv.137 ,其下載鏈接爲:https://drive.google.com/open?id=1JKF-bdIklxOOVy-2Cr5qdvjgGpmGfcbp

5)最後就是訓練命令,注意下參數。可以參考下面:

./darknet detector train xxx/xxx_2019_12.data /work/xxx/yolov4-custom.cfg ../xxx/yolov4.conv.137 -clear -dont_show

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章