YOLOv8-训练自己的数据集

目录

1、上传数据集

2、新建一个traffic.yaml文件

3、修改traffic.yaml文件

4、修改yolov8.yaml文件

5、开始训练

6、验证数据

7、预测数据


1、上传数据集

新建一个datasets文件夹,与yolov8同目录下,datasets文件下,存放自己的数据集

YOLOv8-训练自己的数据集_第1张图片

数据集如下:

 YOLOv8-训练自己的数据集_第2张图片

2、新建一个traffic.yaml文件

这个位置放在哪里都可以。我是在detect下新建了一个文件夹:mydata,将traffic.yaml放入到mydata文件夹下。

YOLOv8-训练自己的数据集_第3张图片YOLOv8-训练自己的数据集_第4张图片

3、修改traffic.yaml文件

train: /root/autodl-tmp/datasets/Traffic/train/images
val: /root/autodl-tmp/datasets/Traffic/valid/images
test: /root/autodl-tmp/datasets/Traffic/test/images
 
nc: 4   
names:
  0: bus
  1: car 
  2: truck
  3: undefined

注意:这里的路径请使用绝对路径,否则会报错。

4、修改yolov8.yaml文件

根据下面路径,找到yolov8.yaml文件

YOLOv8-训练自己的数据集_第5张图片

修改yolov8.yaml文件:

原本红框内是80,则改为4,你的数据集类别个数有多少,就写多少。

我的为4类,则nc: 4

YOLOv8-训练自己的数据集_第6张图片

 完成上述工作就可以进行训练了。

5、开始训练

yolo task=detect mode=train model=yolov8s.yaml data=models/yolo/detect/mydata/traffic.yaml epochs=10 batch=8

 参数详解:task:选择任务类型,可以选择['detect'  'segment'  'classify'  'init']

                   mode:选择任务类型,可以选择 训练、验证或者预测的任务,['train'  'val'  'test']

                   model:选择YOLOv8不同的模型配置文件,可选yolov8s.yaml、yolov8m.yaml、                                         yolov8x.yaml等 

                   data: 选择数据集的配置文件

                   epochs:指的就是训练过程中整个数据集将被迭代多少次,显卡不行你就调小点。

                   batch:一次看完多少张图片才进行权重更新,梯度下降的mini-batch,显卡不行你就调                                 小点。 

输入上述命令:训练过程如下:

YOLOv8-训练自己的数据集_第7张图片

YOLOv8-训练自己的数据集_第8张图片

训练结果将被保存在runs/detect/train8:结构是和YOLOv5一样的。

YOLOv8-训练自己的数据集_第9张图片

6、验证数据

使用训练好的权重,进行验证:

yolo task=detect mode=val model=runs/detect/train8/weights/best.pt data=models/yolo/detect/mydata/traffic.yaml batch=8 device=0

YOLOv8-训练自己的数据集_第10张图片

 YOLOv8-训练自己的数据集_第11张图片

7、预测数据

使用训练好的权重进行预测:

yolo task=detect mode=predict model=runs/detect/train8/weights/best.pt source=assets device=cpu

 YOLOv8-训练自己的数据集_第12张图片

 推荐博客:

2023最新-用yolov8训练自己的数据集_努力向前奔跑的小白的博客-CSDN博客

 YOLOv8 从环境搭建到推理训练-CSDN博客


加油!每天学会一点点!!!!!

你可能感兴趣的:(YOLOv8,YOLO)