第Y3周:yolov5s.yaml文件解读

这篇具有很好参考价值的文章主要介绍了第Y3周:yolov5s.yaml文件解读。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
  • 🍖 原作者:K同学啊|接辅导、项目定制

✅本周任务:将yolov5s网络模型中第4层的C3*2修改为C3*1,第6层的C3*3修改为C3*2。

简单介绍:

YOLOv5配置了4种不同大小的网络模型,分别是YOLOv5sYOLOv5mYOLOv5lYOLOv5x,其中YOLOv5s是网络深度和宽度最小但检测速度最快的模型,其他3中模型都是在YOLOv5s的基础上不断加深、加宽网络使得网络规模扩大,在增强模型检测性能的同时增加了计算资源和速度消耗。出于对检测精度、模型大小、检测速度的综合考量,本文选择YOLOv5s作为研究对象进行介绍。

./models/yolov5s.yaml文件是YOLOv5s网络结构的定义文件,如果你想改进算法的网络结构,需先修改该文件中的相关参数,然后再修改./models/common.py./models/yolo.py中的相关代码。

一、前导知识-yaml文件介绍

YAML简单介绍

二、查看配置文件

yolov5的所有网络yaml文件如下:

第Y3周:yolov5s.yaml文件解读
我们需要修改的网络参数配置文件为yolov5s.yaml,其文件的内容如下:

第Y3周:yolov5s.yaml文件解读

1. 参数配置

第Y3周:yolov5s.yaml文件解读

  • depth_multiple:channel的缩放系数,就是将配置里面的backbone和head部分有关通道的设置,全部乘以该系数即可
  • width_multiple:BottleneckCSP模块的层缩放系数,将所有的BottleneckCSP模块的number系数乘上该参数就可以最终的层个数

2.anchors配置

第Y3周:yolov5s.yaml文件解读

小 目标3组:[10, 13], [16, 30], [33, 23]
中 目标3组:[30, 61], [62, 45], [59,119]
大 目标3组:[116,90], [156,198], [373,326]

YOLOv5初始化了9个anchor,在3个Detect层(3个feature map)中使用,每个feature map的每个grid_cell都有3个anchor进行预测。分配规则是:尺度越大的feature map越靠前,相对原图的下采样率越小,感受野越小,则相对可以预测一些尺度比较小的物体,所有分配到定anchor越小;尺度越小的feature map越靠后,相对原图的下采样率越大,感受野越大,则相对可以预测一些尺寸比较大的物体,所有分配到的anchor也越大。即可以在小特征图(feature map)上检测大目标,也可以在大特征图上检测小目标。
YOLOv5根据工程经验得到了这么3组anchors(9对尺寸参数),对于很多数据集而言已经很合适了。但也不能保证这3组anchor就适用于所有数据集,所以YOLOv5还有一个anchor进化的策略:使用k-means和遗传进化算法,找到与当前数据集最吻合的anchors。

3、backbone

第Y3周:yolov5s.yaml文件解读

  • from: 表示当前模块的输入来自哪一层的输出,-1表示来自上一层的输出,层编号由0开始计数。
  • number: 表示当前模块的理论重复次数,实际的重复次数还要由上面的参数depth_multiple共同决定,该参数影响整体网络模型的深度。
  • module: 模块类名(也可以理解为模块的功能),通过这个类名在common.py中寻找相应的类,进行模块化的网络搭建。
  • args: 是一个list,对应到模块类搭建时需要的参数,主要是channel、kernel_size、stride、padding、bias等

4、head

第Y3周:yolov5s.yaml文件解读

三、修改配置文件

主要修改backbone

第Y3周:yolov5s.yaml文件解读

  • python yolo.py,you will see:

第Y3周:yolov5s.yaml文件解读

参考:yolov5s.yaml中各参数作用意义及使用netron工具来可视化yolov5s的结构
YOLOV5-5.x 源码解读-autoanchor.py
【YOLOV5-5.x 源码解读】yolov5s.yaml文章来源地址https://www.toymoban.com/news/detail-480303.html

到了这里,关于第Y3周:yolov5s.yaml文件解读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Yolov5-模型配置文件(yolov5l.yaml)讲解

    配置文件:github.com/ultralytics/ 这部分比较简单,以下是yolov5l的配置文件 nc:类别数,你的类别有多少就填写多少。从1开始算起,不是0-14这样算。 depth_multiple:控制模型的深度。 width_multiple:控制卷积核的个数。 yolov5提供了s、m、l、x四种,所有的yaml文件都设置差不多,只有

    2024年02月10日
    浏览(31)
  • yolov5s.pt下载

    提示:: 参考博客:https://blog.csdn.net/m0_60900621/article/details/127119398 GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch ONNX CoreML TFLite

    2024年02月11日
    浏览(40)
  • yolov5s模型剪枝详细过程(v6.0)

    本文参考github上大神的开源剪枝项目进行学习与分享,具体链接放在文后,希望与大家多多交流! 在官方源码上训练yolov5模型,支持v6.0分支的n/s/m/l模型,我这里使用的是v5s,得到后将项目clone到本机上 cd进入文件夹后,新建runs文件夹,将训练好的模型放入runs/your_train/weigh

    2024年02月03日
    浏览(31)
  • yolov5s-6.0网络模型结构图

    因为在6.0上做的了一些东西,所以将6.0得网络模型画了出来,之前也画过5.0的网络模型,有兴趣的小伙伴可以看下。 yolov5s-5.0网络模型结构图_zhangdaoliang1的博客-CSDN博客_yolov5s模型结构 看了很多yolov5方面的东西,最近需要yolov5得模型结构图,但是网上的最多的是大白老师的,

    2023年04月09日
    浏览(30)
  • 解读YOLOV5的runs文件

    使用YOLOV5训练数据之后我们需要一些评判标准来告诉我们所训练的效果究竟如何。这时,YOLOV5给出了一个文件解决我们的问题。该文件在直接生成为runs文件,可理解记录一些运行时的日志信息。 作为一种特定的二维矩阵,列代表预测的类别,行代表实际的类别。其对角线上

    2024年02月03日
    浏览(34)
  • (四)yolov5--common.py文件解读

     🍨 本文为🔗365天深度学习训练营 中的学习记录博客 🍖 原作者:K同学啊|接辅导、项目定制  参考网址:https://blog.csdn.net/qq_38251616/article/details/124665998                   yolov5 代码解读 --common.py_XiaoGShou的博客-CSDN博客         上次对yolov5s.yaml文件进行了解读,这次在

    2024年02月09日
    浏览(27)
  • 一块RTX 3090加速训练YOLOv5s,时间减少11个小时,速度提升20%

    作者| BBuf 很高兴为大家带来One-YOLOv5的最新进展,在《一个更快的YOLOv5问世,附送全面中文解析教程》发布后收到了很多算法工程师朋友的关注,十分感谢。 不过,可能你也在思考一个问题:虽然OneFlow的兼容性做得很好,可以很方便地移植YOLOv5并使用OneFlow后端来进行训练,

    2024年02月05日
    浏览(45)
  • YOLOv5s训练结果result.txt绘制loss/mAP等曲线对比图

    引用代码 另外奉上各种线性颜色:参考 大概是够用了!!!

    2024年02月13日
    浏览(36)
  • 跑通官方的yolov7-tiny实验记录(yolov7-tiny可作为yolov5s的对比实验网络)

    官方YOLOv7 项目地址:https://github.com/WongKinYiu/yolov7 如果想设置早停机制,可以参考这个链接:yolov7自动停止(设置patience)且输出最优模型时的PR图(test best.py) 学习 train.py 中的参数含义,可参考手把手调参最新 YOLOv7 模型 训练部分 - 最新版本(二) 学习 detect.py 中的参数含

    2023年04月18日
    浏览(34)
  • YOLOv5 白皮书-第Y5周:yolo.py文件解读

    🍨 本文为🔗365天深度学习训练营 中的学习记录博客 🍖 原作者:K同学啊|接辅导、项目定制 🏡 我的环境: ● 语言环境:Python 3.8 ● 数据集:coco128 ● 深度学习环境:Pytorch 本周任务:将YOLOv5s网络模型中的C3模块按照下图方式修改形成C2模块,并将C2模块插入第2层与第3层之

    2024年02月07日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包