YOLOv7训练自己的数据集(超详细)

介绍

2022年7月,YOLOv7来临, 论文链接:https://arxiv.org/abs/2207.02696

代码链接:

GitHub - WongKinYiu/yolov7: Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors

废话不多说,赶紧上车!

文件配置

1、数据集

自己创建一个myself.yaml文件用来配置路径,路径格式与之前的V5、V6不同,只需要配置txt路径就可以

 train-list.txt和val-list.txt文件里存放的都是图片的绝对路径(也可以放入相对路径)

 如何获取图像的绝对路径,脚本写在下面了(也可以获取相对路径)

# From Mr. Dinosaur

import os


def listdir(path, list_name):  # 传入存储的list
    for file in os.listdir(path):
        file_path = os.path.join(path, file)
        if os.path.isdir(file_path):
            listdir(file_path, list_name)
        else:
            list_name.append(file_path)


list_name = []
path = 'D:/PythonProject/data/'  # 文件夹路径
listdir(path, list_name)
print(list_name)

with open('./list.txt', 'w') as f:  # 要存入的txt
    write = ''
    for i in list_name:
        write = write + str(i) + '\n'
    f.write(write)

2、train.py

官网下载模型文件,train.py文件只支持YOLOv7和YOLOv7-X模型

train文件还是和V5一样,为了方便,我将需要用到的文件放在了根目录下

路径修改完之后右击运行即可

3、train_aux.py

如果你想使用较大的预训练模型,请使用train_aux.py进行训练,否则效果会很差(本人亲测)

下面放上对比图:(上面V7,下面V5)

--weights

下载位置在官网的GitHub上(我是用的是yolov7-d6-training.pt)

--cfg

请使用cfg-training-中的模型文件

 --hyp

文件夹data-hyp.scratch.p6.yaml

 运行train_aux.py

效果对比

在此放上YOLOv7和YOLOv5的对比图:(左V7,右V5)

报错解决

YOLOv7 训练报错 IndexError: list index out of range_Mr Dinosaur的博客-CSDN博客https://blog.csdn.net/qq_58355216/article/details/125842647?spm=1001.2014.3001.5501

 评价

无论是训练的速度、还是精度、召回和map的提升,V7的表现都是十分显著的,称得上是YOLO界的扛把子,期待作者之后的优化和更新。

YOLOv8发布

官网的YOLOv8最近开始发布,效果要比V7更快更准,训练和测试方法已写好,感兴趣的小伙伴快动手操作一下 

YOLOv8训练自己的数据集icon-default.png?t=MBR7https://blog.csdn.net/qq_58355216/article/details/128671030?spm=1001.2014.3001.5501

要使用YOLOv5来训练自己的数据集,可以按照以下步骤进行操作: 1. 数据集准备: - 收集并标注数据集:收集与你的目标物体相关的图像,并使用标注工具(如LabelImg)对每个图像中的物体进行标注。标注包括物体的边界框和类别。 - 数据集划分:将数据集划分为训练集、验证集和测试集,通常按照70%、15%、15%的比例划分。 2. 数据集转换: - 将标注数据转换为YOLOv5的格式:使用脚本将标注数据转换为YOLOv5所需的格式。YOLOv5使用的格式是每个样本的标签文件包含相应图像的路径以及每个物体的类别和边界框坐标。 3. 配置模型: - 下载YOLOv5代码:从YOLOv5的GitHub仓库下载代码并安装所需的依赖项。 - 配置模型参数:根据你的数据集和需求,修改模型配置文件,如`yolov5/models/yolov5s.yaml`,调整输入图像尺寸、类别数等参数。 4. 训练模型: - 运行训练脚本:使用命令行运行训练脚本,指定数据集路径和其他相关参数。例如:`python train.py --data path/to/data.yaml --cfg path/to/model.yaml --weights ''`. - 监控训练过程:脚本会显示训练过程中的损失和指标信息,可以根据需要进行调整。 5. 模型评估和推理: - 评估模型:使用验证集或测试集对训练好的模型进行评估,计算平均精度(mAP)等指标。 - 进行推理:使用训练好的模型对新的图像进行目标检测,获取物体的类别和位置信息。
评论 48
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr Dinosaur

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值