yolov7:从搭配环境到训练自己的数据集(代码片段)

与君初相识 与君初相识     2023-03-21     706

关键词:

一.下载源码

在github中下载Yolov7源码并解压缩
YOLOv7 源码

数据标注可以参考这篇文章
https://blog.csdn.net/qq_39779449/article/details/110172948?spm=1001.2014.3001.5502
标签格式

二.配置环境

整体配置树结构

安装Yolo v7 gpu 环境

在Anconda中创造Yolov7环境

安装所需各种包

激活Yolov7环境 并安装Yolov7所需各种包,采用清华镜像源安装所需包(都试了一下,还是清华镜像更快)

activate yolov7
pip install -r F:\\objectdet\\yolov7-main/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple


检查刚刚环境安装是否成功


如果完全按照requirements.txt来安装的话,你会发现安装的torch版本并不是gpu版本,所以得重新安装gpu版本的才能用你的gpu来训练Yolov7

pip install torch==1.8.2+cu111 torchvision==0.9.2+cu111 torchaudio===0.8.2 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html -i  https://pypi.tuna.tsinghua.edu.cn/simple

安装好后,通过pip list查看你所安装的包,如下图所示,恭喜,安装成功

三.使Yolo v7 训练并测试自己的数据集

修改Yolo v7配置

在pycharm中选择刚刚安装好的Yolov7所需环境
修改配置环境

新建自己数据集的yaml文件

  • train: 修改为自己的训练集路径
  • val: 修改为自己的验证集路径
  • test: 修改为自己的测试集路径
  • nc: 修改为自己的数据集类别数量
  • names: 修改为自己的数据集类别标签。

训练自己的数据集

通过pycharm训练,修改train.py文件如下,然后run
也可以通过下面方法直接在终端进行训练

python train.py --workers 1 --device 0 --batch-size 8 --data data/data.yaml --img 640 640 --cfg cfg/training/yolov7.yaml --weights '' --name yolov7 --hyp data/hyp.scratch.p5.yaml

如果出现以下界面,恭喜你,训练成功,慢慢的等你的模型训练完成吧

测试自己的数据集

在这里我们使用test.py文件中默认的参数

  • data:更改为自己的数据集配置文件路径
  • img:输入数据尺寸
  • batch:批处理数据数量
  • conf:置信度
  • iou:阈值
  • weights: 更改为自己的训练权重路径
  • name:更改为自己的路径
python test.py --data data/data.yaml --img 640 --batch 8 --conf 0.001 --iou 0.65 --device 0 --weights yolov7.pt --name yolov7_val

对单张数据集进行预测

对单张图片进行预测
`
python detect.py --weights yolov7.pt --conf 0.25 --img-size 640 --source images/benign.jpg

四.遇到得问题及解决方案

不能跑yolov7-e6e.yaml文件
看官方论文,yolov7-e6e.yaml效果最好,于是打算试试yolov7-e6e.yaml,emmm,在对yolov7-e6e.yaml进行训练时,就报以下错误了。yolov7.yaml都可以正常运行,换成yolov7e6e.yaml就报错,nc已经改为我的数据集的类别了,做迁移学习是能用的。在网上查了一堆资料也没找到相关的解决方案。

最开始以为是显存不够,batch-size改为1,img-size改为128,可还是不行,查了一下作者的最新代码,发现yolov7-e6e.yaml与yolov7.yaml训练文件不一样。前者是通过train_aux.py进行训练,后者是通过train.py进行训练。
开始用train_aux.py开始进行训练,没错,又又报错了。。。解决了一个bug又出现另一个bug.

查看yolov7原作者的github issues部分,发现loss.py进行了修复,又将loss.py文件复制替换掉我的原loss文件,终于成功了。
总结:经验所得,以后跑大佬的代码。尽量还是用大佬的最新代码。可以少走很多弯路。

yolov7训练自己的数据集(口罩检测)(代码片段)

YOLOv7训练自己的数据集(口罩检测)前言前提条件实验环境项目结构制作自己的数据集数据集目录结构训练自己的数据集VOC格式数据集转换成YOLO格式数据集修改cfg配置新建一个myyolov7.yaml配置文件myyolov7.yaml内容创建自己... 查看详情

[课程][原创]yolov7训练自己数据集实例分割模型

课程地址:搞定系列:yolov7-segmention训练实例分割模型win版--深度学习视频教程-人工智能-CSDN程序员研修院课程介绍课程目录讨论留言你将收获学会如何搭建自己cuda环境学会如何搭建自己yolov7环境学会如何使用roboflow或者l... 查看详情

win10安装yolov7训练自己的数据集(代码片段)

1.安装https://www.pudn.com/news/62ddf431864d5c73acfb1a09.html下载yolov7源码yolov7修改requirements.txt修改torch以及torchvision版本,这里直接指定好版本让其版本对应安装pipinstall-rrequirements.txt-fhttps://download.pytorch.org/w 查看详情

win10安装yolov7训练自己的数据集(代码片段)

1.安装https://www.pudn.com/news/62ddf431864d5c73acfb1a09.html下载yolov7源码yolov7修改requirements.txt修改torch以及torchvision版本,这里直接指定好版本让其版本对应安装pipinstall-rrequirements.txt-fhttps://download.pytorch.org/w 查看详情

yolov7pytorch(代码片段)

yolov7主干部分结构图:yolov7主干yolov7数据集处理代码:yolov7数据集处理代码yolov7训练参数解释:yolov7训练参数【与本文代码有区别】yolov7训练代码详解:yolov7训练代码详解目录训练自己的训练集训练自己的训练集... 查看详情

yolov7训练自己的数据集及报错处理(代码片段)

...#################D:\\Anaconda3\\envs\\py38torch_gpu\\python.exeD:\\needed\\yolov7-main\\train.py--weightsweights/yolov7.pt--cfgcfg/training/yolov7.yaml--datadata/datasets.yaml--device0--batch-size8--epoch5 YOLOR 2022-9-16torch1.9.0+cu111CUDA:0(NVIDIAGeForceRTX3060Ti,8191.5MB)Namespace(adam=... 查看详情

yolov7训练自己的数据集(超详细)(代码片段)

介绍2022年7月,YOLOv7来临,论文链接:https://arxiv.org/abs/2207.02696代码链接:GitHub-WongKinYiu/yolov7:Implementationofpaper-YOLOv7:Trainablebag-of-freebiessetsnewstate-of-the-artforreal-timeobjectdetectors废话不多说,赶紧上车!文件配置... 查看详情

yolo|用yolov7训练自己的数据集(超详细版)

...程)二.克隆项目配置库gitclonehttps://github.com/WongKinYiu/yolov7打开项目下载要求的库:cdyolov7 查看详情

[软件工具]yolov3yolov4yolov7训练自己的数据集windows上超简单全程不写代码

darknet训练自己的数据集一般要写代码自己转化数据集,还要修改配置文件,数据集也不保证都是正确标注的,这个流程一般对初学者或者不熟悉的人经常弄错,只要一个配置参数改错就会导致训练出现问题,... 查看详情

基于yolov7的闸片厚度检测方法(代码片段)

基于yolov7的闸片厚度检测方法图像采集YOLOV7训练制作训练集训练样本生成权重文件修改YOLO预测类imag与cv2转换方法欧氏距离像素坐标与世界坐标映射测量方法边缘提取滤波方法检测结果图像采集利用基于3D结构光的深度相机采集... 查看详情

yolov7训练自己的数据集(超详细教程)(代码片段)

...录一,准备数据集1.1挑选照片1.2做标注二,下载YoloV7三,划分数据集四,模型训练4.1创建yaml文件4.2修改默认参数4.3开始训练五,训练模型遇到的问题5.1UnicodeDecodeError:'gbk'codeccan'tdecodetype0xafinposition525:il... 查看详情

darknet训练yolov7-tiny(alexeyab版本)(代码片段)

darknet框架训练yolov7Yolov7在darknet框架下的训练过程配置darknet环境官方数据集下载模型和配置文件训练之前必须看参数修改模型训练模型评估Yolov7在darknet框架下的训练过程配置darknet环境Darknet环境可以看我之前写的博文,这里... 查看详情

yolov7(目标检测)入门教程详解---检测,推理,训练(代码片段)

目录一.前言二.yolov7源码下载三.detect(检测)四.Train(训练)数据准备:labellmg:配置训练的相关文件 配置数据集文件正式训练:推理:推理效果:五.总结一.前言  上篇文章:YOLOv7(目标... 查看详情

yolov7使用cadcd数据集实验记录(代码片段)

...后的数据集:值得注意的是博主开始时训练时使用了yolov7的初始化权重,由于cadc数据集中有几个分类在数据集中出现很少,以及博主在处理数据集时对一些目标种类进行了合并,因此学习效果并不好,因此博... 查看详情

yolox推理系列4-使用yolox训练自己的数据集(代码片段)

...8四、训练自己的数据集前言前面的文章,笔者在系统环境下使用OpenCV对YOLOX模型进行推理;在本节,我们需要安装虚拟环境使用YOLOX训练自己的数据集。一、安装Anaconda去Anaconda官网下载最新的版本如果查询到版本号&#x... 查看详情

深度学习训练营之yolov5训练自己的数据集(代码片段)

深度学习训练营之训练自己的数据集原文链接环境介绍准备好数据集划分数据集运行voc_train.py遇到问题完整代码创建new_data.yaml文件模型训练时遇到的报错模型训练结果可视化参考链接原文链接🍨本文为🔗365天深度学习... 查看详情

52训练paddleseg模型,部署自己的模型到oak相机上

基本思想:简单记录一下训练过程,数据集在coco基础上进行,进行筛选出杯子的数据集,然后进行训练,比较简单, 从coco数据集中筛选出杯子的数据集,然后在labelme数据集的基础上,转成paddleseg数据集,然后训练即可,生... 查看详情

基于via的课堂学生行为数据标注与yolov7目标检测与自动标注系统(代码片段)

...4.1.检查via框与yolo框是否一致4.2.检查小点4.3.可视化数据5.yolov7训练与测试5.1.GPU平台搭建yolov75.2.yolov7训练5.3.yolov7测试6.yolov7自动标注6.1.yolov7检测图片6.2.yolo检测结果转via0相关链接b站操作视频:https://www.bilibili.com/video/BV1cT411e7R... 查看详情