【YOLOv10改进实战】**【4】YOLOv10训练自己的【数据集】:保姆级教程

【YOLOv10改进实战】**【4】YOLOv10训练自己的【数据集】:保姆级教程🥤🥤



提示:喜欢本专栏的小伙伴,请多多关注支持。本文仅供学习使用,创作不易,未经作者允许,不得搬运或转载!!!


前言✈️✈️

本文主要介绍如何运用YOLOv10训练自己的数据集,包括【环境配置】-【数据导入】-【模型训练】-【模型评估】-【模型预测】-【模型导出】。
在这里插入图片描述

一、环境配置✈️✈️

1. 项目下载🪂🪂

截至目前,yolov10提供了v1.0和v1.1两个版本供大家选择,GitHub项目地址如下:

https://github.com/THU-MIG/yolov10    #yolov10项目地址

在这里插入图片描述

2. 安装环境🪂🪂

如果已有YOLOv8的训练环境,此步骤可跳过。
建议大家使用anaconda3虚拟环境。安装步骤如下:
打开 开始菜单栏,点击Anaconda3 -> Anaconda Prompt 进入命令行窗口:
在这里插入图片描述
在这里插入图片描述

逐条输入以下命令,创建一个新环境用以支持YOLOv10运行:

conda create -n yolov10 python=3.9  #yolov10为我们创建的环境名,可自己按喜好更改;

conda activate yolov10  #激活环境

pip install -r requirements.txt  #安装requirements.txt文件中的扩展库(requirements.txt文件可在yolov10项目中查看)

pip install -e . #注:pip install -e . 的含义是:在当前目录下安装一个包,并创建一个软连接引用该包(而不是将包复制到 site-packages 目录下)。

conda list   #查看已安装扩展库

到此,环境配置完毕!


二、模型训练\验证\预测\导出✈️✈️

1. 导入数据集🪂🪂

在项目中新建文件datasets用以存放数据集(位置不固定自己喜欢就好),数据划分格式可参考下图(images里全为图片文件,labels里全为标签文件),参考其他up主的方式也没问题。
在这里插入图片描述


2. yaml文件指南🪂🪂

2.1 数据集yaml文件
以我的cat数据集为例,我使用的是绝对路径加相对路径(怕训练时找不到数据路径):
在这里插入图片描述
以下是coco128数据集的yaml文件,使用的是相对路径。当然还有其他方式,感兴趣的同学可以自己查找。
在这里插入图片描述
2.2 yolov10n-x.yaml文件
位置:ultralytics/cfg/models/v10,使用时nc需换成自己数据集的物体类别数。
在这里插入图片描述


3. 模型训练🪂🪂

yolov10同yolov8一样提供了两种训练方式:
终端运行指令(CLI) 和 python文件指令。相关超参数可到default.yaml文件中设置。
CLI指令:

yolo detect train data=coco.yaml model=yolov10n/s/m/b/l/x.yaml epochs=500 batch=256 imgsz=640 device=0,1,2,3,4,5,6,7

python指令可参考yolov8:

from ultralytics import YOLOv10

# Load a model # 三选一
model = YOLOv10('yolov10n.yaml') 
model = YOLOv10('yolov10n.pt')  
model = YOLOv10('yolov10n.yaml').load('yolov10n.pt') 

# Train the model
model.train(data="coco8.yaml", epochs=3) 

训练完毕后会得到如下文件:
在这里插入图片描述


4. 验证模型🪂🪂

CLI指令:


yolo val model=runs/detect/train/weights/best.pt  data=.../cat.yaml

python指令:

from ultralytics import YOLOv10

model = YOLOv10("yolov10n.pt")  

metrics = model.val()  

验证后会得到如下文件:
在这里插入图片描述


5. 模型预测🪂🪂

CLI指令:

yolo predict model=yolov10n/s/m/b/l/x.pt source=data/images device=0 save=True

python指令:

from ultralytics import YOLOv10

model = YOLOv10("yolov10n.pt")  

results = model('.../images/bus.jpg')  

预测结果示例:

在这里插入图片描述


6. 模型导出🪂🪂

CLI指令:

# End-to-End ONNX
yolo export model=yolov10n/s/m/b/l/x.pt format=onnx opset=13 simplify
# End-to-End TensorRT
yolo export model=yolov10n/s/m/b/l/x.pt format=engine half=True simplify opset=13 workspace=16
# Or
trtexec --onnx=yolov10n/s/m/b/l/x.onnx --saveEngine=yolov10n/s/m/b/l/x.engine --fp16

python指令:

from ultralytics import YOLOv10

model = YOLOv10("yolov10n.pt")  

model.export(format='onnx')#onnx或engine

本文至此结束,文章持续更新中!!!
请添加图片描述
使用更详细的 python指令、超参数解释,后续推出,敬请期待!!!
下一篇:YOLOv10XX方向改进🥤🥤(预告)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值