網路上好像比較少pytorch版本的yolov4的配置教學,大多都是使用暗网gihub那邊的yolov4.雖然兩者配置上差不多,但網路上有些文章會東缺西缺,我自己在配置的時候也有遇到一些問題,所以這邊希望可以幫助到要使用yolo4的人們,也順便當作自己的記事本.pytorch darknet github
我。下載yolov4,重量
這邊是使用王金耀/PyTorch_YOLOv4的程式。直接用克隆下來,就會有個PyTorch_YOLOv4資料夾。WongKinYiu PyTorch_YOLOv4
git clone https://github.com/WongKinYiu/PyTorch_YOLOv4.git
作者有提供很多預訓練的权重,看你要用哪個版本的yolov4就到giHub內表格最右欄下載下載下來之後,放在PYRCH_YOLOv4/权重資料夾內(其實放別的地方也行)
二、二、配置配置
cfg檔在克隆下來的PYTORCH_YOLOv4/cfg裡面都有所以不用特別下載,改你要用的那個yolo的版本就可以了
cfg檔的詳細配置可以看暗网gihub的维基上看,也可以看看汤米黄的講解。這邊就只說明要可以訓練的基本修改.wiki Tommy Huang
cfg檔的最底下會有3個[yolo]的區塊(不是連續的,所以要找一下),3个個都要把类改成你要訓練的类數,以下圖片範例是一個类。
再來每個[yolo]區塊的上一個區塊會是[卷积]區塊,這邊要改的是Filters(改[yolo]上一個的[卷积]就好,上二上三都不用管)。Filters改的數量要依照你的CLASS量改變,Filters=(CLASS+5)*3,所以以這邊的例子只有一個CLASS,那Filters就設18.
三、三、配置訓練/測試資料
訓練跟測試資料分別建一個資料夾,放哪都可以.影像跟標註檔放同個資料夾裡面就可以了.
再來就是要在PYTORCH_YOLOv4/Data資料夾內新增一個.yaml檔,內容可以用資料夾內原本就有的Coco.yaml去修改,如下圖,就是指定好訓練/驗證/測試集的資料夾位置、类數跟类名稱。
PYTORCH_YOLOv4/Data還要新增一個.names檔,裡面就是所有的类名稱用換行分隔,也可以參考原有的coco.name.
四、四、環境配置
Python的環境這邊就不贅述了,直接用pip安裝作者給的要求.txt
pip install -r PyTorch_YOLOv4/ requirements.txt
接下來要安裝MISH-CUDA,也是一樣克隆下來安裝就可以了(可以用網路上任何MISH-CUDA)mish-cuda
git clone https://github.com/thomasbrandon/mish-cuda.git
這樣就大功告成啦,可以直接跑培训/测试了(記得要先CD到PyTorch_YOLOv4資料夾內)
python train.py --device 0 --batch-size 8 --img 640 640
--data data/xxx.yaml --cfg cfg/yolov4-pacsp-x-mish.cfg
--weights weights/yolov4-pacsp-x-mish_.weights
稍微解釋一下他的選項,–img後面放Train以及Val的影像大小(會依照你用不同版本的yolov4去改),–Data後面放剛剛配置的.yaml檔案路徑,–cfg後面放剛剛配置好的cfg檔路徑,–Weights後面放你下載下來的預訓練Weight位置,也可以放之後你Train過之後存下來的.pt檔的路徑(會在PyTorch_YOLOv4/Run/EXP*/Weight內,*是數字)
以上的範例跑的是yolov4x-mish版本,所以cfg、Weight都是yolov4x-mish的版本,img也會是yolov4x-mish用的640大小。
其他還有很多選項可以用,細節可以看Train.py/test.py內。
V。在合作实验室上執行
基本上在合作实验室上行也是差不多的
可以用装载去得到你自己雲端內的東西
from google.colab import drive
CoLab的挡路也可以執行命令(命令前加驚嘆號!,CD比較特別要用@才有用)
@cd ..
! git clone ...
作者提供的权重也不用下載下來再上傳雲端,因為他原本就是存在作者的雲端了,直接建立捷徑到你自己的PYTORCH_YOLOv4/权重就可以用了
原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/08/01/pytorch-yolov4%e9%85%8d%e7%bd%ae/