【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方向改进🥤🥤(预告)


  • 33
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用YOLOv8和Labelme训练自己的数据集,您需要进行以下步骤: 1. 创建数据集文件:根据引用所提供的格式,在seg.yaml文件中指定您的训练、验证和测试图像的路径。确保路径是正确的,并且图像数量正确。同时在seg.yaml文件中指定类别名称和对应的编号。 2. 安装Labelme:根据引用中的指示,使用Anaconda创建一个名为labelme的环境,并激活该环境。然后,根据您使用的Python版本,安装相应的依赖库。 3. 标注数据集:使用Labelme标注工具标注您的数据集。根据"1.2Labelme 使用教程"可以学习如何使用Labelme进行标注。 4. 准备标注结果:标注完成后,您将得到一些.json格式的标注文件。确保这些文件与相应的图像文件在同一目录下。 5. 训练模型:使用YOLOv8的train模式,指定模型文件为yolov8s-seg.yaml,数据文件为seg.yaml。设置适当的训练参数,如epochs(训练轮数)、patience(停止训练的等待轮数)、batch(每个批次的图像数量)等。 综上所述,您可以通过按照上述步骤使用YOLOv8和Labelme来训练自己的数据集。请确保按照步骤正确操作,并根据具体情况进行相应调整。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* *2* [YOLOv8实例分割训练自己的数据集保姆教程](https://blog.csdn.net/m0_51530640/article/details/129975257)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值