1.将下载好的数据集放在yolo的路径下,放在其他地方也可以,训练时候可以用绝对路径指定
数据集的文件夹如下图所示
这里有三个文件分别是test、train、valid,以及我们数据集的配置文件data.yaml
这里的data.yaml文件非常简单,分别是训练集的路径和验证集的路径,以及两个分类,分类名称
2.我们要激活我们的虚拟环境,在对应的环境下运行
conda activate yolov5
我之前创建的环境名是yolov5相关依赖都安装完毕
3.执行训练命令
#解释一下这条命令
#yolo的目标检测训练,data=是指定训练集所在的路径,数据集在其他地方可以使用绝对路径,绝对路径不会出错建议使用
#model=是指定我们所用模型的配置文件
#pretrained是指定一个预训练模型帮我们训练
#epochs是训练的轮次,这里小一点20轮更快出结果
#batch是每次取出来的图片,就是一次往GPU哪里塞多少张图片了。决定了显存占用大小,默认是16
#lr0是学习率,resume是恢复训练,workers是指数据装载时cpu所使用的线程数,默认为8
#因为我的笔记性能很差,大家可以根据自己情况调整参数大小
yolo detect train data=D:\VehicleDetection\ultralytics-main\datasets\MaskDataSet\data.yaml model=ultralytics/models/v8/yolov8n.yaml pretrai
ned=yolov8n.pt epochs=20 batch=2 lr0=0.01 resume=True workers=1
开始后会打印一些我们的设备信息,以及参数值
这里就开始训练了,上面有训练结果保存的路径runs\detect\train21就是保存结果的地方
在最后10轮时会出现,Closing dataloader mosaic,是yolo中的一个方法,如果在这里报错的话,可以将close_mosaic=0。
Mosaic数据增强方法是YOLOV4论文中提出来的,主要思想是将四张图片进行随机裁剪,再拼接到一张图上作为训练数据。这样做的好处是丰富了图片的背景,并且四张图片拼接在一起变相地提高了batch_size,在进行batch normalization的时候也会计算四张图片,所以对本身batch_size不是很依赖,单块GPU就可以训练YOLOV4
3.训练结果
恭喜已经顺利的跑起来了yolov8的模型,研究生小白重于破门而入,后续的学习笔记我也会整理在这里,不经是帮助自己整理知识点,也希望我的学习过程可以帮助到你
see you~