YOLOV10训练自己的数据集

***************************************************

码字不易,收藏之余,别忘了给我点个赞吧!

***************************************************

Start

YOLOV10训练自己的数据集

官方论文:https://arxiv.org/abs/2405.14458

1.下载官方代码

下载地址:https://github.com/THU-MIG/yolov10/tree/main

进入网址后,先点击code按钮,再点击Download ZIP,下载的文件是一个压缩包:yolov10-main.zip

2.解压压缩包文件

解压后,文件夹里的内容如下图所示:

3.下载模型预训练权重文件

YOLOV10N:https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10n.pt

YOLOV10S:https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10s.pt

YOLOV10M:https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10m.pt

YOLOV10B:https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10b.pt

YOLOV10L:https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10l.pt

YOLOV10X:https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10x.pt

作者此处下载的是YOLOV10N的预训练权重,将权重文件放置在项目文件夹yolov10-main中,如下图所示:

4. 新增my_train.py文件

在项目文件夹yolov10-main下新建一个my_train.py文件,将以下代码复制保存到该文件中。

python 复制代码
from ultralytics import YOLOv10

model = YOLOv10('yolov10n.yaml').load('yolov10n.pt')
# Train the model
results = model.train(data='a_tb.yaml',
                      epochs=200,
                      imgsz=640,
                      batch=16,
                      optimizer='SGD',lr0=0.01,device=0)

5. 新建数据集文件夹

在pycharm中打开项目文件夹yolov10-main,按照yolo数据集的标准准备好图像和标签文件,作者此处的数据集文件夹为a_tb_data,里面有train,val,test三个文件夹,请按照以下形式准备好数据集

6. 修改yolov10n.yaml文件

打开文件: yolov10-main/ultralytics/cfg/models/v10/yolov10n.yaml ,修改nc的值,若要检测的目标为n种,则值为n,作者数据集检测的目标为1种,因此n=1。

7. 新增a_tb.yaml文件

在yolov10-main/ultralytics/cfg/datasets文件夹下新增一个文件a_tb.yaml,将以下代码块复制到该文件中保存。path表示数据集a_tb_data的路径,names:表示类别的名称,依次用0,1,2,3表示。

python 复制代码
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: C:\Users\22120\Desktop\yolov10-main\a_tb_data # dataset root dir
train: train/images # train images (relative to 'path') 1052 images
val: test/images # val images (relative to 'path') 225 images
test: test/images # test images (relative to 'path') 227 images

# Classes
names:
  0: tb
  #1: car
  #2: pig

8. 开始训练模型YOLOV10N

打开my_train.py,model.train中可以修改相应的参数,参数的名称来自yolov10-main/ultralytics/cfg/default.yaml 文件,作者这里只进行简单配置,配置完信息后,鼠标右键run,如下图所示。

9. 查看运行结果

等待运行结束后,在yolov10-main/runs/detect文件夹下会生成新的train文件夹,里面记录了训练过程、验证过程、最优模型权重等等。

10. 验证YOLOV10N模型

首先新增my_val.py文件,复制以下代码至该文件保存,其中runs/detect/train/weights/best.pt 则是训练完成后生成的权重文件路径。

python 复制代码
from ultralytics import YOLOv10

# Load a model

model = YOLOv10('runs/detect/train/weights/best.pt')  # load a custom model

# Validate the model
metrics = model.val(data='a_tb.yaml',
                    batch=16)  # no arguments needed, dataset and settings remembered
metrics.box.map    # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps   # a list contains map50-95 of each category

在my_val.py文件中鼠标右键run,进行验证

验证完成后,在yolov10-main/runs/detect文件夹下会生成新的val文件夹,里面记录了验证过程、验证结果等等。

相关推荐
科技小花几秒前
2026年数据治理出海:当“全球化运营”遭遇“数据治理壁垒”,谁能提供答案?
网络·人工智能·数据治理·全球化·出海
无忧智库几秒前
能源集团“十五五“数据资产入表与数据价值化运营管理体系:一次真正意义上的资产重构(WORD)
人工智能
Bruce_Liuxiaowei1 分钟前
让AI帮你“看懂”文件:批量重命名、会议纪要、视频翻译全攻略
人工智能·ai·音视频·智能体·workbuddy
啦啦啦_99991 分钟前
机器学习大纲
人工智能·机器学习
Chuer_2 分钟前
AI For BI是什么?一文拆解AI For BI应用落地!
大数据·数据库·人工智能·安全·数据分析·甘特图
人工智能培训2 分钟前
是否需要构建包含真实物理噪声的仿真环境?
大数据·人工智能·prompt·agent·智能体
果粒蹬i3 分钟前
把视频内容变成手绘漫画笔记?ClipSketch AI 让小红书创作省事不少
人工智能·笔记·音视频
倔强的石头1064 分钟前
在家也能做 AI 导演!本地部署 Wan2.1 视频生成模型全攻略
人工智能·音视频·cpolar
深度红薯4 分钟前
SAM3:开放式分割,太强了(后面有SAM3权重下载方式)(单图测试、视频测试、实时跟踪)
图像处理·人工智能·python·深度学习·毕业设计·毕设·sam3
Allen正心正念20257 分钟前
Model—智能体模型Kimi K2.6开源-20260422
人工智能·开源