文章目錄
- 一· 概述
- 二· 依賴環境(`prerequisites`)
- 2.1 硬件環境
- 2.2 軟件環境
- 三· 環境安裝
- 3.1 創建并激活虛擬環境
- 3.2 安裝`Pytorch`與`torchvision`
- 3.3 校驗`Pytorch`安裝
- 3.4 下載 `YOLOv5` `v6.1` 源碼
- 3.5 安裝 `YOLOv5` 依賴
- 3.6 下載預訓練模型
- 3.7 安裝其他依賴
- 3.8 測試環境安裝
- 3.9 測試訓練流程
- 四· 參考鏈接
一· 概述
本文檔主要記錄使用工程源代碼,部署YOLOv5訓練環境以及測試環境的過程,主要包括以下內容:
YOLOv5
對應版本的源碼下載Pytorch
的適配版本安裝與測試YOLOv5
源碼的依賴安裝與測試- 其他依賴的版本調整與測試
- 字體文件、預訓練模型的下載
- 訓練流程的測試
注:如果需要快速安裝推理環境(不需要訓練),參考[[YOLOv5快速推理方法]]
二· 依賴環境(prerequisites
)
本文檔主要記錄的是 YOLOv5
v6.1
版本的環境部署與測試,使用 Anaconda
或 miniconda
進行虛擬環境和包管理器,因此在執行安裝之前,需要確認機器的預安裝環境。
2.1 硬件環境
- GPU :
NVIDIA GeForce GTX2060
- RAM :
16GB
- CPU :
Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
- ROM :
512GB SSD
注: 一般情況下,訓練都會在GPU上進行,因此GPU的性能對訓練速度有較大的影響。確保本地已安裝
NVIDIA
獨立顯卡,否則訓練耗時會非常長。
2.2 軟件環境
- 操作系統 :
Windows 10
Anaconda3
或miniconda3
Python
:3.8+
- NVIDIA驅動 :
latest
- CUDA :
11.2
- cuDNN :
8.2.1
三· 環境安裝
注: 確保上述軟硬件環境已經安裝完畢,不在贅述。
3.1 創建并激活虛擬環境
# 創建虛擬環境
conda create -n yolo python=3.8 -y# 激活虛擬環境
conda activate yolo
3.2 安裝Pytorch
與torchvision
訪問Pytorch
官方網站,查詢符合本地硬件配置與軟件環境安裝指令,這里選擇 適配 CUDA 11.3
的Pytorch v1.12.1
,安裝指令如下:
# CUDA 11.3
conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.3 -c pytorch -c conda-forge -y
# CUDA 11.1
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
注: 考慮到版本兼容性問題,本文檔中選擇適配
CUDA 11.3
的Pytorch v1.8.1
版本. 沒有選擇最新版。
注:
Pytorch
官方安裝文檔中,v1.8+
只提供了適配11.8
、11.7
、11.6
、11.3
和10.2
的CUDA
版本, 通過查詢部分資料得知,CUDA v11
版本中,部分小版本向前兼容,表現形式為版本號標為CUDA v11.x
,經過測試,Pytorch v1.8.1
適配CUDA 11.3
版本可以正常使用。
3.3 校驗Pytorch
安裝
python -c "import torch; print(torch.__version__)"
環境安裝正確,則輸出 1.8.1+cu111
python -c "import torch; print(torch.cuda.is_available())"
Pytorch
安裝完成,且能夠加載 GPU
和 CUDA
,則輸出True
, 否則輸出 False
注:如果校驗失敗,則重新按照 [[#3.2 安裝
Pytorch
與torchvision
]] 中的內容,更換一種方式重新安裝,例如,將conda
安裝方式更換為pip
安裝方式。
3.4 下載 YOLOv5
v6.1
源碼
可直接通過 git
命令,下載指定 v6.1
版本的 YOLOv5
源碼,如下所示:
git clone -b v6.1 https://github.com/ultralytics/yolov5.git
源代碼下載完成后,會回滾到 v6.1
版本的代碼。如下圖所示:
或通過官方網站下載源碼壓縮包,解壓到本地。地址:YOLOv5
對比上述圖片,可以看到,對應提交的記錄號碼是一致的。
3.5 安裝 YOLOv5
依賴
進入 YOLOv5
源碼目錄,執行以下命令,安裝依賴:
cd yolov5# 安裝依賴
pip install -r requirements.txt
等待安裝完成,如下圖所示:
3.6 下載預訓練模型
通過訪問github地址,定位到對應的 v6.1
標簽的release版本,下載預訓練模型,文件鏈接地址 , 如下圖所示:
注 :一定要下載與源代碼版本號對應的預訓練模型,避免因模型結構不一致導致加載時報錯。
3.7 安裝其他依賴
為避免報錯 ImportError: DLL load failed while importing _imaging: 找不到指定的模塊。
,需要重新安裝 Pillow
依賴,如下所示:
pip install Pillow==9.5.0
為避免后續訓練過程中,因為 numpy
版本不兼容導致 API
調用報錯,需要重新安裝 numpy 1.20.3
依賴,如下所示:
pip install numpy==1.20.3 --force-reinstall
3.8 測試環境安裝
通過運行 detect.py
腳本,對項目自帶的測試圖片(位于 data/images
路徑),測試環境安裝是否正確,如下所示:
python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images/bus.jpg
運行成功后,會輸出檢測結果,如下圖所示:
打開位于 runs/detect/exp2
路徑保存的圖片,可以看到檢測結果,如下圖所示:
3.9 測試訓練流程
通過運行 train.py
腳本,對項目自帶的測試數據集(位于 data/coco128
路徑),測試訓練流程是否正確,如下所示:
python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt
運行指令后,會自動下載 COCO128
數據集,然后開始訓練,如下圖所示:
如果因網速問題,下載失敗,可以手動下載數據集,然后解壓到與 yolov5
的統計文件夾 datasets
目錄下即可,如下所示:
datasets
|--coco128
| |--images
| |--labels
yolov5
|--data
.
.
.
訓練正式啟動后,每個 epoch
會有進度條顯示當前的訓練進度,如下圖所示:
至此,YOLOv5
v6.1
版本的源代碼方式安裝的訓練環境已完成.
四· 參考鏈接
- [YOLOv5 GitHub](https://
- Pytorch 安裝指南
- ultralytics docs