YOLOv8自用训练教程——训练、测试、推理

前言

继YOLOv5大成之后,原作者U神又开源了更强的YOLOv8,说是论文在写,不知道这次会不会吃帽子。

代码

Github地址:https://github.com/ultralytics/ultralytics
预训练权重下载地址:https://github.com/ultralytics/assets/releases

实验对比

COCO数据集实验对比,YOLOv8全面领先!
在这里插入图片描述

结构图

图片来源于:https://blog.csdn.net/qq_37706472/article/details/128679699
在这里插入图片描述

训练Train

环境配置不再赘述,数据集格式也跟v5相同,但训练方式跟v5略有不同。
第一,需要输入命令安装U神自己的库,里面是一些需要的三方库:pip install ultralytics
第二,第一次可能找不到train.py在哪,要先进入路径:ultralytics/yolo/v8/detect,就可以看到train.pyval.py
第三,直接运行train是不行的,train.py找不到类似v5那种参数设置,如batchsize、workers等。
v8将这些参数设置集成到了ultralytics/yolo/cfg/default.yaml(注意看清路径,别找半天找不到);

其中,default.yaml文件的参数如下:

train:注意黄色框的几个参数,task是选择任务,detect是目标检测,segment是分割任务;mode参数,train是训练,val是验证,predict是推理测试;model是使用的网络结构;data是数据集的设置;

在这里插入图片描述

第四,参数都设置好之后,可以直接输入命令,即可开始训练:
yolo cfg=ultralytics/yolo/cfg/default.yaml (没看错,就是这个命令,不用什么.py)

还有第二种训练命令方式,直接命令行输入,也可以开始训练,看你喜欢哪种:

yolo task=detect mode=train model=models/v8/yolov8n.yaml data=data/coco.yaml  batch=8 epochs=300 workers=2

有个点需要注意
model应该是放预训练权重才对,但放预训练权重,网络yaml就没地方放了(弄懂后再更新);
yolov8n.yaml这种网络结构,注意路径!!!路径看清楚在哪!!!

验证Val

输入命令:
第一种方法:
在default.yaml里修改,主要就是下面三个参数,mode记得从train改为valmodel改成自己训练后的权重,要不然还是训练,还有split设置,test是测试集,val是验证集;
在这里插入图片描述
在这里插入图片描述

第二种方法:
直接输入命令行

yolo task=detect mode=val model=runs/detect/train/weights/best.pt data=data/coco.yaml  batch=8 workers=2

猜你喜欢

转载自blog.csdn.net/retainenergy/article/details/129199116
今日推荐