目录
- 一、下载yolo5
- 二、安装必要依赖
- 三、安装pytorch
- 四、打标图片制作数据集
- 4.1 导入图片
- 4.2 开始打标
- 4.3 添加标签
- 4.4 进行打标
- 4.5 导出打标数据
- 4.6 打标数据
- 五、整理训练数据
- 5.1 第一层目录
- 5.2 第二层目录
- 5.3 第三层目录
- 六、创建配置文件
- 七、训练数据
- 八、验证数据集
- 九、检测图片
一、下载yolo5
首先下载源码:yolo5 github地址
我下载的是最新版本:v6.1。
二、安装必要依赖
进入下载的yolo5源码文件夹中,执行依赖安装:
cd xx/xx/yolov5-master
pip install -r requirements.txt
三、安装pytorch
先进入yolo5源码文件夹中,由于yolo5基于pytorch,如果和我版本一样的yolo5,然后下载大于等于1.7.0版本的,我下载的是1.7.1版本,cpu版本,下载地址:pytorch下载地址
pip install torch==1.7.1+cpu torchvision==0.8.2+cpu torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
四、打标图片制作数据集
打标图片地址:makesense
4.1 导入图片
可以一次性导入多张图片进行打标。
4.2 开始打标
4.3 添加标签
4.4 进行打标
打标时,记得选择好我们的标签。
4.5 导出打标数据
4.6 打标数据
我们的打标数据将会和图片名一致,且以txt后缀:
文件中的内容为我们的标签类别及坐标:
五、整理训练数据
5.1 第一层目录
我们需要训练的图片将会整合到images文件夹中,我们的打标数据将会整合到labels中:
5.2 第二层目录
images文件夹和labels文件夹下的第二层目录如下:
- test:测试集数据
- train:训练集数据
- val:验证集数据
5.3 第三层目录
第三层目录中,我们放置相应的图片或打标数据,比如在images/train/下面我们放置训练用的图片,labels/train/下面放置打标数据:
C:\MyData\images\train\1.png
C:\MyData\labels\train\1.txt
六、创建配置文件记住图片和打标数据需要一一对应。
我将自定义的配置文件取名为:my_data.yaml。可以按照自己的喜好取名。
train: C:/MyData/images/train
val: C:/MyData/labels/train
nc: 1 # 类别有几个就填几个
names: ['风力发电'] # 每个类别的名称
七、训练数据test目录是可选的,可用可不用。
进入我们的yolov5-master目录,运行以下命令:
python train.py --data my_data.yaml --cfg models/yolov5s.yaml --weights yolov5s.pt --epoch 1000 --batch-size 4 --device cpu
如果使用models/yolov5s.yaml,需要把nc: 1 改为我们的训练类别,我这只有一个类别,所以是1。
- –data:我们的配置文件
- –cfg:参数配置文件
- –weights:权重文件
- –epoch:一次完整的向前传播和反向传播,填几就是进行几次
- –batch-size:每一批样本的数量
- –device:训练用的硬件,我这只有cpu,用的cpu,有条件用gpu
训练成功后,会生成我们的训练数据:
其中weights会生成我们的训练权重结果:
- best.pt:拟合最好的
- last.pt:最后拟合的
一般情况下使用拟合最好的权重去使用。
八、验证数据集使用我们训练好的权重进行数据验证:
python val.py --data my_data.yaml --weights runs/train/exp/weights/best.pt --img 640
python detect.py --source C:/Users/TT/Downloads/test2.jpg --weights runs/train/exp/weights/best.pt
至此,一整套简单的yolo5使用流程到此结束,很多配置和参数的调整需要进一步深入学习。