文章目录
- 一· 概述
- 二· 依赖环境(`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