目标检测:YOLOv8跑coco128数据集

1.数据集准备

官网下载coco128数据集,或者在链接中通过百度网盘分享的文件:coco128.zip
链接:https://pan.baidu.com/s/15X3vcbMLdvPWvmFDEAwjBA?pwd=abeg 
提取码:abeg 里面有图片和打好的标签

我创建了个dataset文件夹,然后把coco128文件到dataset文件夹下,也可以之间把数据集放到ultralytics-main\ultralytics\cfg\datasets文件夹下

2.官网下载YOLOv8

在github上下载或者在gitee下载,别忘了下载权重文件,我使用的是yolov8n.pt

3.配置环境

我在pycharm中跑的代码,参考其他博主的流程,我很早就配置了环境,但是在训练过程中显示有些库的版本太老了,个人比较懒就没有重新配环境(主要是怕配置不好影响之前的配好的环境)

4.训练及参数修改

4.1 yaml参数修改

4.1.1 数据集yaml文件参数修改

在ultralytics-main\ultralytics\cfg\datasets\coco128.yaml下修改train和val的路径,使用绝对路径

train: E:\venv2\ultralytics-main\dataset\coco128\images\train2017 # train images (relative to 'path') 128 images
val: E:\venv2\ultralytics-main\dataset\coco128\images\train2017

4.1.2 配置yaml文件参数修改

在ultralytics-main\ultralytics\cfg\default.yaml下修改参数,task,mode,model,data(使用绝对路径),epochs,batch,save,device,works等。

注意:data的路径表示的是cfg\datasets\中的yaml文件,试了相对路径报错,因此改为绝对路径

下面给出部分参数修改代码:

task: detect # (str) YOLO task, i.e. detect, segment, classify, pose
mode: train # (str) YOLO mode, i.e. train, val, predict, export, track, benchmark
#train setting 
model: yolov8n.pt # (str, optional) path to model file, i.e. yolov8n.pt, yolov8n.yaml
data: E:\venv2\ultralytics-main\ultralytics\cfg\datasets\coco128.yaml # (str, optional) path to data file, i.e. coco128.yaml
epochs: 50 # (int) number of epochs to train for

4.2 训练

在终端输入下列代码

yolo train model=yolov8n.pt data=coco128.yaml epochs=50 imgsz=640

但是训练结束后的配置文件args.yaml显示batch,save_period,device未修改,不知道是什么原因,可能是需要修改哪个yaml文件(目前没找到),因此在输入训练代码时指定部分参数

yolo train model=yolov8n.pt data=coco128.yaml epochs=50 imgsz=640 batch=4 workers=2 save_period=10 patience=1

这样跑出来就正常了

5.预测

预测采用的官方的权重文件

需要修改ultralytics-main\ultralytics\cfg\default.yaml的mode为predict

在终端中输入下面代码为

yolo predict model=yolov8n.pt source='./ultralytics/assets/zidane.jp'

6.报错

6.1 找不到数据,miss data

将数据路径都改为绝对路径

6.2 训练出来显示一些参数和设置的不一样,比如batch

在训练时终端中直接指定

你想要了解如何使用YOLOv8训练COCO数据集,是吗?在这之前,请确保你已经具备以下准备工作: 1. 安装好YOLOv8的代码库和所需依赖,可以参考GitHub上的源代码。 2. 下载并解压COCO数据集,包括图像和标签文件。 接下来,你可以按照以下步骤进行YOLOv8的训练: 1. 配置数据集路径:打开YOLOv8的配置文件,通常是`yolov8.cfg`或`yolov8-custom.cfg`。将其中的数据集路径修改为你的COCO数据集路径。 2. 配置类别数目:找到配置文件中的`classes`参数,并将其设置为你要检测的类别数量。在COCO数据集中,这个数目是80。 3. 配置预训练权重:如果你想使用预训练的权重进行初始化,可以将配置文件中的`weights`参数设置为对应的权重文件路径。如果没有预训练权重,可以跳过此步骤。 4. 设置训练参数:你可以根据需要调整学习率、批大小、迭代次数等参数。这些参数通常在配置文件中有明确的设置项。 5. 数据转换:将COCO标签文件转换为YOLO格式。可以使用一些工具或脚本来实现,比如`coco2yolo.py`。 6. 开始训练:运行训练脚本或命令,使用COCO数据集进行训练。具体的命令可能因你使用的代码库而有所不同,可以参考对应的文档或示例。 7. 监控训练过程:在训练过程中,你可以监控损失函数的变化、验证集的性能等指标,以评估模型的训练效果。 8. 保存模型:一旦训练完成,你可以保存训练好的模型权重,以备后续使用。 请注意,YOLOv8的训练过程可能需要一定的计算资源和时间。同时,确保你具备足够的训练数据和合适的标注质量,以获得更好的检测性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值