YOLOv7模型推理和训练自己的数据集

        前段时间YOLOv7发布,一直没时间去复现,今天正好有时间,简单复现下。

1.必要环境

        我的环境是:Windows10+python3.9.7+CUDA11.1+CUDNN8.1.1+torch1.8。此环境配置不再多说,网上有很多的教程。本篇主要记录YOLOv7的使用。

2.YOLOv7安装

2.1进入github官网下载源码和权重文件:

https://github.com/WongKinYiu/yolov7

2.2打开工程,在终端输入命令,安装依赖包

pip install -r requirements.txt

        我这边在安装依赖包时没有发生错误,若发生错误,请自行百度

3.使用YOLOv7官方模型进行推理

         打开detect.py文件,修改权重文件的路径,以及修改推理图片的路径。右键运行就ok,结果会在runs/detect中展现

         推理结果十分优异,远超YOLOX的性能。 

4.训练自己的数据集

首先工程文件夹设置:

          将图片放入images中,xml文件放入Annotations。

         先使用txt_write.py文件划分数据集。该文件内容参考本人另一篇YOLOX文章中。

        其次使用txt_yolo_label.py文件,数据集转换到yolo数据集格式,转换后可以看到VOCData/labels下生成了每个图的txt文件 。

         接着修改cfg/training中你下载的对应模型的yaml文件,我这边下载的yolov7.pt文件,在此更改yolov7.yaml文件,将nc数量变为自己数据集中对应的种类数。

         再在data文件夹中备份一份coco.yaml文件,重命名为myvocdataset.yaml,将内容改为如图,其中路径记得改为自己的路径。

train: E:/python_practice/object_detection/yolov7-main/VOC/train.txt
val:  E:/python_practice/object_detection/yolov7-main/VOC/val.txt

nc: 2  #类别,改成自己的
names: ['screen','sign']#类别名称

        紧接着打开train.py文件,修改如下项:

 从上到下,依次是权重文件,cfg配置文件,voc数据文件,超参数文件,和训练轮数。超参数可不修改,其他改为自己所对应的文件。batch-size依据电脑实力更改,我这边配置一般,batch较小,建议将dataloader workers默认设为0,关闭其多线程处理。点击右键运行该文件,程序完美运行。

 如出现如下错误:

Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
在train.py中添加如下代码:
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'

        为了演示yolov7算法,在此就训练了两轮便停止训练,使用训练两轮的模型进行推理。结果如图。

因为只训练了两轮,效果很差,仅识别出框。

到此,YOLOv7复现完成。 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lc_MVP

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

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

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

打赏作者

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

抵扣说明:

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

余额充值