iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0
AI & Data

YOLO系列網路技術採用以及實作系列 第 24

[DAY 24] YOLOv6模型訓練

  • 分享至 

  • xImage
  •  

建立所需環境

  1. 下載美團公司公開的yolov6程式碼
  2. 下載yolov6s.pt權重檔,用於測試環境是否安裝完成。
  3. 替yolov6創建一個新的anaconda環境,並啟動該環境:
    conda create -n yolov6 python=3.8
    conda activate yolov6
    
  4. 進到yolov6資料夾中,並下載相關環境:
    pip install -r requirements.txt 
    
  5. 執行預測一張影像,測試一下環境是否安裝完成:
    python tools\infer.py --weights yolov6s.pt --source data\images\images1.jpg
    
  • 執行成功可以看到影像存在runs/inference/exp資料夾中
    https://ithelp.ithome.com.tw/upload/images/20231009/20120310kVOcjmn5T5.png
    https://ithelp.ithome.com.tw/upload/images/20231009/20120310Hg9LgOOI8T.png

訓練階段(以飛機機身缺陷偵測資料集為例)

  1. 須先把torch、torchvision安裝好,需對應自己電腦的Cuda版本。
  2. 因為yolov6訓練集的存放方式剛好aircraft_fuselage_yolo資料夾中的影像擺放方式符合yolov6所需。
  3. 因為data裡面已經有image資料夾,因此將原本的images資料夾改成image_1,並把飛機機身卻陷偵測資料集內容複製到data資料集中。
    https://ithelp.ithome.com.tw/upload/images/20231009/20120310lGrs9PRX89.png
  4. 複製data資料夾中的voc.yaml並貼在data資料夾中並命名為custom.yaml。
  5. 打開custom.yaml資料夾,並修改內容為:
    # Please insure that your custom_dataset are put in same parent dir with YOLOv6_DIR
    train: .\data\images_1\train # train images
    val: .\data\images_1\val # val images
    test:
    # Classes
    nc: 4  # number of classes
    names: ['scratch','paint_peel','rust','rivet_damage']
    
  6. 執行訓練的指令:
    python tools\train.py --img 640 --batch 4 --epochs 300 --data data\custom.yaml --device 0
    
  • 若要以GPU訓練則需安裝好適合的Torch版本,若以CPU執行訓練,則將--device 0改成--device cpu

執行開始會出現以下畫面,並開始訓練:

https://ithelp.ithome.com.tw/upload/images/20231009/20120310P23YJQlm55.png

這邊同樣只演示能成功進行訓練的步驟,沒有讓訓練跑到底,後續回到宿舍後,會利用散熱效果較好的桌上型電腦進行訓練,並在最後的幾篇文章中,統一將每一代的YOLO訓練結果數據進行展示。


上一篇
[DAY 23] YOLOv5模型訓練
下一篇
[DAY 25] YOLOv7模型訓練
系列文
YOLO系列網路技術採用以及實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言