当前位置: 首页 > news >正文

山东省工程建设交易信息网站友情链接系统

山东省工程建设交易信息网站,友情链接系统,自己做网站需要什么,县城做信息网站先前的YOLOv7模型是pytorch重构的,并非官方提供的源码,而在博主使用自己的数据集进行实验时发现效果并不理想,因此生怕是由于源码重构导致该问题,此外还需进行对比实验,因此便从官网上下载了源码,进行调试运…

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

环境配置

由于博主先前曾经运行过pytorch版本的yolov7,因此这次就沿用那个虚拟环境了。
有需要了解相关配置的可以参考博主这篇博客:

写在前面,关于YOLOv7的代码中有个wandb大家可以将其关闭,因为这个实际上没有啥用途反而在运行中会造成下载屏障,配置错误等问题,关闭方法打开下面这个文件:

在这里插入图片描述

随后在开头代码:

try:import wandbfrom wandb import init, finish
except ImportError:wandb = None

后加上wandb = None,即为:

在这里插入图片描述

测试

将源码下载完成后,先进行简单测试看看环境是否符合,可以先运行detect.py,修改下其中的预训练模型文件:这里建议大家手动下载。

parser.add_argument('--weights', nargs='+', type=str, default='./weights/yolov7.pt', help='model.pt path(s)')

其余的就不用动了,运行成果后会提示你将检测结果放到相应文件夹:

在这里插入图片描述

测试结果:

在这里插入图片描述

训练调试

这个才是我们的重头戏
其实这个配置并不难,我们使用的是YOLO格式的数据集,该数据集就是先前博主在运行YOLOv8模型时制作的。
具体制作过程参考博主这篇博文:

YOLOv8调试记录

主要便是执行下面这段代码,即将VOC格式数据集转换为YOLO格式

在这里插入图片描述

随后创建数据集配置文件

在这里插入图片描述

然后修改train.py中的相关配置:分别对应预训练模型参数,模型框架与数据集配置文件,此外还需修改epochs和batch-size等。

此外,如果有条件的话,num_workers也尽量调大些,这是程序所能调用的线程数目,项目的运行速度不但取决于GPU性能,同时与数据集加载速度有关,博主先前忘记调整使用的是默认值0,此时项目运行极慢,一晚上才跑了40epochs,查询GPU使用情况,发现很多适合GPU都处于空载状态,这就造成了极大的浪费。修改num_worker后,项目运行所占用的显存就会增加,这时还要适当的调整batch-size,而batch-size调小后速度会变快,但却不易收敛。
这里博主设置num-workers为6,batch-size=12,此时的CPU利用率就达到了70%左右。而GPU占用显存为8G。

在这里插入图片描述

  1. 每次dataloader加载数据时:dataloader一次性创建num_worker个worker,(也可以说dataloader一次性创建num_worker个工作进程,worker也是普通的工作进程),并用batch_sampler将指定batch分配给指定worker,worker将它负责的batch加载进RAM。

    然后,dataloader从RAM中找本轮迭代要用的batch,如果找到了,就使用。如果没找到,就要num_worker个worker继续加载batch到内存,直到dataloader在RAM中找到目标batch。一般情况下都是能找到的,因为batch_sampler指定batch时当然优先指定本轮要用的batch。

  2. num_worker设置得大,好处是寻batch速度快,因为下一轮迭代的batch很可能在上一轮/上上一轮…迭代时已经加载好了。坏处是内存开销大,也加重了CPU负担(worker加载数据到RAM的进程是CPU复制的嘛)。num_workers的经验设置值是自己电脑/服务器的CPU核心数,如果CPU很强、RAM也很充足,就可以设置得更大些。

  3. 如果num_worker设为0,意味着每一轮迭代时,dataloader不再有自主加载数据到RAM这一步骤(因为没有worker了),而是在RAM中找batch,找不到时再加载相应的batch。缺点当然是速度更慢。

随后我们还需修改模型配置文件中检测的类别数

在这里插入图片描述

随后我们运行train.py文件就OK了:这里由于博主使用了一小部分数据集所以效果并不理想,稍后会将其上传至服务器上进行实验。

在这里插入图片描述
在这里插入图片描述

关于batch-size的影响:

batchsize越小,一个batch中的随机性越大,越不易收敛。然而batchsize越小,速度越快,权值更新越频繁;且具有随机性,对于非凸损失函数来讲,更便于寻找全局最优。从这个角度看,收敛更快,更容易达到全局最优。

batchsize越大,越能够表征全体数据的特征,其确定的梯度下降方向越准确,(因此收敛越快),且迭代次数少,总体速度更快。然而大的batchsize相对来讲缺乏随机性,容易使梯度始终向单一方向下降,陷入局部最优;而且当batchsize增大到一定程度,再增大batchsize,一次batch产生的权值更新(即梯度下降方向)基本不变。因此理论上存在一个最合适的batchsize值,使得训练能够收敛最快或者收敛效果最好(全局最优点)。

http://www.hengruixuexiao.com/news/42903.html

相关文章:

  • 网站开发和程序开发的却别百度推广培训班
  • 做微信平台网站需要多少钱网站制作流程图
  • 一级a做爰免费网站下载百度2023最新版安装
  • dede手机wap网站模板nba最新交易新闻
  • 鸭梨网站建设网站站长seo推广
  • 学校网站模板大全搜索引擎优化是免费的吗
  • 商务网站的功能seo视频教程百度网盘
  • 合肥建站方案抖音搜索seo软件
  • 北京北排建设公司招标网站线上推广的渠道有哪些
  • 有没有教做衣服的网站网络营销网
  • 企业网站托管外包方式芜湖网络营销公司
  • 网站首屏做多大站长工具端口检测
  • 兼职做任务的网站百度推广代理商名单
  • 一个卖时时彩做号方法的网站今日油价92汽油价格
  • 汨罗哪里有网站开发的公司电话营销方案案例范文
  • wordpress主题 双站点谷歌商店下载
  • 做T恤卖网站谷歌网站优化推广
  • 青岛做网站建设的公司西安百度推广网站建设
  • 上海建工网站google下载官方版
  • 网站设建设表单怎样制作网站
  • 建网站要学哪些软件东莞疫情最新消息
  • 网站建设策划案全网整合营销
  • 网站建设制作模板网站怎么做广告网址
  • 免费申请网站 主机 空间推广方案的内容有哪些
  • 桂林人论坛桂林板路正规网站优化公司
  • 刷网站建设关键词包括哪些内容
  • 做网站要身份证吗软文推广
  • 青岛的网站设计河南纯手工seo
  • 淘宝站外网站可以做吗江苏网站seo设计
  • 兰州公司网站制作网站服务器多少钱一年