# Yolo-Firi Training Environment Setting `by 許承壹` 註:此份文件為YoloV5系列(YoloV5, Yolo-FIRI)訓練的操作說明,其中,環境與ROS端的環境相同,若ROS端已經建置完畢,則直接略過,由第四點開始即可。 註2:需特別注意,若先完成此處的環境建置,在ROS端的建置中,仍需重新執行一次ROS端與本文相似的步驟,以確保沒有遺漏未安裝之python package。 ## Environment Prerequisites * 作業系統:Ubuntu 18.04 * ROS版本:ROS Melodic * 虛擬環境:Anaconda3 * Cuda10.0 and corresponding driver * YoloV5版本為V5.0的branch,本文採用YOLOv5s進行平台建置與實作驗證 ## 1.簡介 本文所使用的檔案,是參照YoloV5,Tags為V5.0的版本進行修改。 YoloV5官方Github:https://github.com/ultralytics/yolov5 我們的Github(main branch): https://github.com/amtommy/thermal_detection_offline/ ## 2.重要檔案與根目錄之介紹 1. `yolov5/train.py` 訓練所使用之python檔案,通常輸入資料會自訂數個參數進行訓練 2. `yolov5/data/thermal_dataset.yaml` 此檔案為資料集路徑設定與偵測類別相關設定。 3. `yolov5/0928_dataset` 此處為我方所使用資料集,訓練集包含3637張照片、驗證集則包含570張照片。 4. `yolov5/runs` 此處為預設存放偵測結果及訓練結果的位置。 5. `yolov5/data/images` 此處為預設之detect.py讀取照片的位置,可將想辨識的照片放入,detect.py可以協助輸出偵測結果。 6. `yolov5/0928_dataset` 此處為資料集存放位置 7. Nas上資料集與model weight放置處 NAS: http://140.96.109.23:32110/cgi-bin/ 資料集:`Data_1/Dataset/DriveNet/Thermal_Dataset/0928_dataset` weight檔:`Data_1/Dataset/DriveNet/Thermal_Dataset/Yolov5_model` ## 3.Anaconda 安裝教學 如果你的電腦上沒有安裝Anaconda的話,會建議可以安裝使用,其功能是建立一個虛擬環境,方便你管理python的版本以及packages。 安裝步驟: 1. 到官方網站下載對應你的作業系統的Anaconda並安裝 https://www.anaconda.com/products/distribution 2. 建立新環境 `conda create -n <env_name> python=x.x` * example: `conda create -n test_env python=3.6` 3. 切換到該環境 `conda activate <env_name>` 至此就可以開始使用,並安裝你想要安裝的packages了! ## 4.環境建置 1. 進行Yolo_v5套件安裝,由於過新版本的pytorch與torchvision會造成error,因此我們先行安裝這兩個python package,請參考以下步驟: * `cd <your path to>/yolov5` * `conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=10.2 -c pytorch` 2. 安裝剩餘之python package * `pip install -r requirements.txt` 3. 安裝python的Opencv package * `conda install -c conda-forge opencv` 4. 環境建置完畢後,可以使用detect.py進行測試,觀察是否有結果,結果會被存放於runs/detect當中。 * `python detect.py` * 註:若出現RuntimeError: The size of tensor a (80) must match the size of tensor b (56) at non-singleton dimension 3是因為目前是V5.0版本,而跑detect.py在找不到weight的情況下,預設會下載V6.0的weight,所造成的tensor問題,壓縮檔內有附上符合V5.0的權重檔,若想嘗試其餘的版本,可以去github的model zoo找V5.0版本的權重檔即可。 ## 5.模型訓練及參數 1. 找到存放在yolov5/data當中的thermal_dataset.yaml,將train與val的路徑修改為要使用的資料集存放位置 ======================================================================== train: `<path to your dataset>/train.txt` # train images (relative to 'path') 128 images val: `<path to your dataset>/val.txt` # val images (relative to 'path') 128 images ======================================================================== 範例如下: ======================================================================== train: /home/lian/yolov5/0928_dataset/train.txt # train images (relative to 'path') 128 images val: /home/lian/yolov5/0928_dataset/val.txt # val images (relative to 'path') 128 images ======================================================================== 2. 訓練參數如下所示,上面步驟皆設定完成後,即可開始進行yolo_FIRI訓練 `python train.py --data thermal_dataset.yaml --cfg yolov5_firi.yaml --hyp hyp.finetune.yaml --batch-size 8 --epochs 150` 其中: * thermal_dataset.yaml為我方所提供之資料集相關設定; * yolov5_firi.yaml則為Yolo_FIRI的相關backbone設置 * hyp.finetune.yaml為模型微調的資料夾,包含一些事情的data augmentation也在裡面
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up