您的当前位置:首页正文

YOLOv8-训练自己的数据集

2024-11-27 来源:个人技术集锦


1、上传数据集

数据集如下:

 

2、新建一个traffic.yaml文件

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

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.yaml文件:

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

我的为4类,则nc: 4

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

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,显卡不行你就调                                 小点。 

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

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

6、验证数据

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

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

 

7、预测数据

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

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

 

 推荐博客:

 


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

显示全文