YOLOv7训练自己的数据集(官方版本)

发布时间:2022-11-15 23:00

介绍

2022年7月,YOLOv7来临, 论文链接:https://arxiv.org/abs/2207.02696 代码链接:https://github.com/WongKinYiu/yolov7 在v7论文挂出不到半天的时间,YOLOv3和YOLOv4的官网上均挂上了YOLOv7的链接和说明,由此看来大佬们都比较认可这款检测器

YOLOv7训练自己的数据集(官方版本)_第1张图片

官方版的YOLOv7相同体量下比YOLOv5精度更高,速度快120%(FPS),比 YOLOX 快180%(FPS),比 Dual-Swin-T 快1200%(FPS),比 ConvNext 快550%(FPS),比 SWIN-L快500%(FPS)。

YOLOv7训练自己的数据集(官方版本)_第2张图片

环境配置

下载官网的源码:

WongKinYiu/yolov7: Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors (github.com)https://github.com/WongKinYiu/yolov7

文件配置

1、数据集

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

YOLOv7训练自己的数据集(官方版本)_第3张图片

 train-list.txt和val-list.txt文件里存放的都是图片的绝对路径

YOLOv7训练自己的数据集(官方版本)_第4张图片

 YOLOv7训练自己的数据集(官方版本)_第5张图片

 如何获取图像的绝对路径,脚本写在下面了

# 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

官网下载模型文件,根据自己需求

YOLOv7训练自己的数据集(官方版本)_第6张图片

train文件还是和V5一样,为了方便,我将需要用到的文件放在了根目录下,我是用的是最大的预训练模型yolov7-e6e.pt

YOLOv7训练自己的数据集(官方版本)_第7张图片

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

YOLOv7训练自己的数据集(官方版本)_第8张图片

 评价

不得不说,还是官方发布的好用,V6bug太多,也没人修复,有兴趣的可以去看一下之前的V6。

最新版YOLOv6训练自己的数据集(超详细完整版!)_Mr Dinosaur的博客-CSDN博客_yolov6

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号