Yolov4簡易安裝教學
前言
這篇文章主要敘述如何在自己PC上建置yolov4的環境和使用yolov4訓練即辨識物件
Yolov4訓練預先設定
完成上述安裝並且生出darknet.exe之後就能開始訓練我們的資料
要讓yolov4成功開始訓練需要六個檔案
1. obj.data
2. obj.names
3. train.txt
4. valid.txt
5. yolov4tiny.cfg
6. yolov4tiny.conv.29
- obj.data是讓yolov4認得你訓練資料結構的檔案,具體寫法會像這樣 可以看到它包括class的數量,以及train.txt/valid.txt/obj.names的位置
-
Backup是yolov4訓練完後權重儲存的資料夾
-
obj.names是所訓練class的名稱
以我的例子我這次訓練有兩個類別分別為cross1和cross2 - Train.txt/valid.txt放的分別是訓練資料的jpg檔和手動標註過後的txt檔案
- 最後是yolov4tiny.cfg
它是訓練用的設定檔,我們需要調整裡面的一些參數才能成功訓練,參數的調整主要可以是調整filters和classes,根據文件裡提供的規則Filters=(classes+5)3
例如:如果classes=2,則filters=(2+5)3
調整的參數(filters)位置會在yolov4tiny.cfg檔案裏面的[convolutional],切記只需要改變每個[yolo] layer之前的[convolutional] > > layer裡的filters,如下圖所示
並且在每個[yolo] layer裡面的classes參數也要調整成你這次訓練所分類的classes
例如:classes=2。
調整完所有檔案後將這六個檔案放在darknet所在的目錄下
C:\Users\jEmmY\darknet\build\darknet\x64
目錄底下的檔案大致上會跟下圖很像,我把那六個重要的檔案和訓練所需要的資料都放在matrain資料夾裡,matrain所在的位置需要和darknet.exe在同一個目錄下
值得注意的是yolov4tiny.conv.29是預先訓練的權重,當我們進行第一次訓練時會用到它
Yolov4 訓練
辛苦的準備完上面的環境+檔案後,就可以開始訓練我們的模型了!
首先先打開cmd進入你存放darknet.exe的地方
然後執行指令
darknet.exe detector train data/obj.data matrain/yolov4tiny.cfg matrain/yolov4tiny.conv.29
如果沒有錯誤訊息就會開始訓練
左側的圖表是訓練過程loss的變化
並且每1000 iterations會根據 obj.data裡back up 的路徑儲存一個weights檔案進去weights的資料夾裡。
最後訓練完的weights檔會在yolov4tiny_final.weights。
有了weights檔案就能試試看yolo能不能抓出我們所需的pattern
darknet.exe detector test data/obj.data matrain/yolov4tiny.cfg matrain/weights/yolov4tiny_2000.weights
我示範下圖示範的是用iteration=2000的weights檔所跑出來的結果
我這邊所label的pattern是10日均線和20日均線交叉的位置
下面幾張測試的截圖可以更清楚的看到label的地方
紅色的cross1是10日均線交叉過20日均線
綠色的cross2是20日均線交叉過10日均線
分別是這個模型的2個classes
留言