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

彭祥. 彭祥.     2023-02-19     374

关键词:

2023年2月3日

在完成了CADC数据集的处理工作后,我们就可以便将其放入我们的项目中进行实验了。
首先看一下转换后的数据集:

值得注意的是博主开始时训练时使用了yolov7的初始化权重,由于cadc数据集中有几个分类在数据集中出现很少,以及博主在处理数据集时对一些目标种类进行了合并,因此学习效果并不好,因此博主想重新开始训练,即没有初始权重的情况下训练,这种状态下训练难度加大,同时模型需要修改的参数数量剧增,占用显存增大,以nvidia T4为例,在该GPU环境下使用batch-size=4时显存便占用了13G之多,而将其调整为6时便会直接爆显存,而且由于没有初始权重,训练的时间也会加长,博主开始设置迭代300次,而目前来看运行100次大概需要一天时间,至于效果只能等训练完成后再说了。

随后在运行了快100轮后程序突然终止了,且并没有提示错误只是显示

Process finished with exit code -1

看到有人提出这是在服务器上运行时网络中断导致的,并有人提出了解决方法:试一下。

run -> Edit Configurations -> Configuration -> Execution -> Emulate terminal in output console

但我并没有找到这个选项:

既然中断了便随后服务器中找到运行得到的权重文件

此时我们可以使用这个训练得到的权重模型来进行测试看下效果。
效果很差,mAP只有10%左右。呜呜呜,好在程序中考虑到存在中断问题,设计了开始迭代参数,将其设置为90,并将权重模型替换为best_epoch_weight


可以看到从90开始训练了


然后训练了一会后发现其又中断了:

Start Train
Epoch 101/300:  46%|| 484/1063 [05:02<05:55,  1.63it/s, loss=0.136, lr=0.000461
Process finished with exit code -1

这次吸取先前的教训,查看了一下服务器,发现只是在本地停止了在服务器上GPU依旧运行着:


好吧,那就让他慢慢跑吧,等运行完再说吧。
由此可见该错误是由于服务器与pycharm失联导致的,不用管他,等运行完就好了。如何知道其是否运行完,nvidia-smi就可以了,只要GPU还用着,自然就是还没跑完喽,只不过我们不知道已经运行到哪步而已,但我们的训练得到的权重文件会告诉我们这一切的。

2023年2月4日

今早一看,发现服务器也停止了,看来当时服务器依旧运行只是一个假象罢了,并且考虑到从头训练太过麻烦,而且效果还十分差劲。

因此开始从头考虑使用预训练模型来进行训练,先前使用的预训练模式是在ImageNet上获取的,与我的数据集差距较大,因此可以使用其他的一下预训练权重模型,这就涉及到一个概念成为迁移学习。

关于接下来的进展,大家可以搜索博主博文:迁移学习

visdrone数据集visdrone+yolov7结果记录(代码片段)

VisDrone+YOLOv7结果YOLOv7训练验证集测试集YOLOv7训练命令python-mtorch.distributed.launch--nproc_per_node4--master_port9527train.py--workers4--device0,1,2,3--sync-bn--batch-size32--datadata/VisDrone.yaml--img640640--cfgcfg/training/yolov7.yaml--nameyolov7_--hypdata/hyp.scratch.p5.yam... 查看详情

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

yolov7训练自己的数据集一.安装yolov7并配置1.安装Anaconda2.创建虚拟环境3.下载yolov7源码4.下载权重5.安装依赖二.运行目标检测三.训练自的数据集1.创建所需文件2.下载labelImg标注工具3.配置训练的相关文件四.正式训练五.使用自己的... 查看详情

yolov7实验记录(代码片段)

这篇博客主要记录博主在做YOLOv7模型训练与测试过程中遇到的一些问题。首先我们需要明确YOLO模型权重文件与模型文件的使用其实在github的readme中已经告诉我们使用方法,但我相信有很多像博主一样眼高手低的人可能会犯类... 查看详情

yolov7实战:手把手教你使用yolov7进行物体检测(附数据集)(代码片段)

摘要YoloV6出来没有多久,YoloV7就开始流行了。如今的Yolo系列的模型都是沿用了YoloV3的架构,大家都是在卷积上做了一些更改。Yolov6和Yolov7都加入了Rep的结构。如图:图片来自:https://zhuanlan.zhihu.com/p/543743278YOLOv7在5... 查看详情

yolov7实战:手把手教你使用yolov7进行物体检测(附数据集)(代码片段)

摘要YoloV6出来没有多久,YoloV7就开始流行了。如今的Yolo系列的模型都是沿用了YoloV3的架构,大家都是在卷积上做了一些更改。Yolov6和Yolov7都加入了Rep的结构。如图:图片来自:https://zhuanlan.zhihu.com/p/543743278YOLOv7在5... 查看详情

yolov7模型调试记录(代码片段)

先前的YOLOv7模型是pytorch重构的,并非官方提供的源码,而在博主使用自己的数据集进行实验时发现效果并不理想,因此生怕是由于源码重构导致该问题,此外还需进行对比实验,因此便从官网上下载了源码... 查看详情

yolov7目标检测模型调试记录(代码片段)

...声赫赫,其性能表现不俗,如今其已经更新到了YOLOV7版本,今天便来一睹其风采。博主之前只是对YOLO算法的原理一知半解,并未实验,因此并不熟练,因此,借此机会来进行实验以为日后的论文撰写做... 查看详情

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:从搭配环境到训练自己的数据集(代码片段)

一.下载源码在github中下载Yolov7源码并解压缩YOLOv7源码数据标注可以参考这篇文章https://blog.csdn.net/qq_39779449/article/details/110172948?spm=1001.2014.3001.5502标签格式二.配置环境整体配置树结构安装Yolov7gpu环境在Anconda中创造Yolov7环境安装... 查看详情

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

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

睿智的目标检测——pytorch搭建yolov7-obb旋转目标检测平台(代码片段)

睿智的目标检测——Pytorch搭建[YoloV7-OBB]旋转目标检测平台学习前言源码下载YoloV7-OBB改进的部分(不完全)YoloV7-OBB实现思路一、整体结构解析二、网络结构解析1、主干网络Backbone介绍2、构建FPN特征金字塔进行加强特征提... 查看详情

自然语言分析——实验记录(代码片段)

1.第一次试验:朴素贝叶斯,采用统计词数量方式处理数据conutVectorizer()(1)训练集12695条,  正向:8274  负向:4221  哈工大停词表:df=3,正确率0.899,          df=1,正确率0.9015  四川大学停词... 查看详情

odoo开发之记录集–使用模型数据(代码片段)

Odoo12开发之记录集–使用模型数据一·启动服务链接数据库#1.启动服务,链接数据库 ./odoo-binshell-cdebian/odoo.conf-dlibrary_db#2.self当前操作的对象 res.users(1,)#3.self._name#当前模块名称,获得记录集模型名 ‘res.users‘#4.self.login#记录值,至于... 查看详情

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

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

yolov7学习记录之训练过程(代码片段)

在前面学习YOLOV7的过程中,我们已经学习了其网络结构,然而实际上YOLOV7项目的难点并不在于其网络模型而是在于其损失函数的设计,即如何才能训练出来合适的bbox。神经网络模型都有训练和测试(推理)过... 查看详情