如果想從無到有訓練出 YOLOv4 的模型參數該如何做?

預先準備好的條件:

  A. 程式環境為windows + darknet 執行檔環境.

  B. 圖檔已經準備好, labels 檔案也已經準備好, classes 的名稱檔也已準備(coco.names)

  C. YOLO4.cfg, coco.data, 可在原來的source code 的目錄中找到, copy 一份出來改成可以區分跟原來不同的檔名

開始動手了!

一.資料的準備與安排

  最後的目錄結構

  XX
    +--- images
           +--- trainIMG
           +--- ValIMG
    +--- Labels
           +--- trainIMG
           +--- ValIMG

以上紫色是default 會去找的目錄, 所以 labels 這目錄名稱不能修改

所有要訓練的影像放在trianIMG, ValidIMG 中 (目錄名稱可以自行決定) 或只效在同一個目錄

二. 如何產生 imglist file.
   Cmd : 使用dosbox 的command line 
   Dir d:\XX\images\trainIMG /s/b > trainLst.txt
   Dir d:\XX\images\ValIMG /s/b >    ValLst.txt

  #利用dir, and redirection to a file
  直接使用image 目錄建立檔案LIST

  # images, labels 裡面可以不分 train 或是val file, 可以放在起在 images 目錄中就行, 因為定義檔在trainsLST.txt 已有檔案的pathname

三. 修改環境檔案中的目錄定義. 
    使用darknet 習慣的命名方式   dataset_name.data
    例如: mycoco.data
使用notepad 打開mycoco.data
classes= 80
train  = D:/YOLO_DATA/trainLst.txt
#train = E:/MSCOCO/5k.txt
valid  = D:/YOLO_DATA/valLst.txt
names = d:/data/coco.names
backup = backupCOCO
eval=coco

backupCoco 是output model 所存放的位置, 這是相對darknet.exe 的目錄以下的目錄名稱
 

coco.names 是依序列出class 的名稱, 如: class有80 個, 則.names就應有80行

四. model定義檔. 
    使用darknet 習慣的命名方式   'yolo4.cfg'  通常放在cfg 目錄中
    例如: myyolo4.cfg
     4.1 如果要改變classes 的個數, 則要打開此檔案做修改
        如: 在mycoco.data 中的classes 從80 改為20
             則要改6個地方
             找到[yolo] 共3個地方
             [yolo] 中的classes 改20
             往上一個的[convolutional] 的filters 改為75
             Filters 的公式為:  (class+5)*3.    所以原來80 255, 
             記得3套[yolo]都要改

     4.2 如果GPU 跑不動了, 或發生錯誤
         [net] 中的
            subdivisions=64  (從16 改為64)
            其中還有一些training 的參數可調整, 目前尚未清楚理解, 將來補充說明


五. 執行 darknet
  在dosbox command line 下, 切換到darknet.exe目錄 
  darknet detector train d:/xx/mycoco.data d:/xx/myyolov4-c.cfg yolov4.conv.137

我的例子, d:\xx==d:\YOLO_DATA
/// 下載 yolov4.137
https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.conv.137

六. 建議放設定檔案的位置
  XX: data Set 的名稱
  XX/trainLst.txt
  XX/ValLst.txt
  XX/mycoco4.cfg
  Xx/mycoco.data
  XX/coco.name

 七. coco dataset 下載

   https://cocodataset.org/#download

   2014 Train images [83K/13GB]
   2014 Val images [41K/6GB]

   解壓到以上所述的目錄

 

其他相關文章

darknet.exe 使用說明- 任性學習

darknet.exe 使用說明-訓練命令發生錯誤 -Create 6 permanent cpu-threads. -任性學習

YOLO 準備資料的小工具(一)-png to jpg -任性學習

arrow
arrow
    創作者介紹
    創作者 cianfen 的頭像
    cianfen

    cianfen的部落格

    cianfen 發表在 痞客邦 留言(0) 人氣()