yolo源码注释3——模型配置文件

这篇具有很好参考价值的文章主要介绍了yolo源码注释3——模型配置文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

代码基于yolov5 v6.0

目录:

  • yolo源码注释1——文件结构
  • yolo源码注释2——数据集配置文件
  • yolo源码注释3——模型配置文件
  • yolo源码注释4——yolo-py

模型配置文件一般放在 models 文件夹下的 XXX.yaml 文件中,以 yolov5s.yaml 为例:文章来源地址https://www.toymoban.com/news/detail-648442.html

# YOLOv5 🚀 by Ultralytics, GPL-3.0 license

# Parameters
nc: 80  # 类别个数,一定要与使用的数据集保持一致

depth_multiple: 0.33  # 深度倍数,对数量大于1个模块进行数量控制,具体看 yolo.py 中的 parse_model 函数
width_multiple: 0.50  # 宽度倍数,卷积操作中控制卷积核数量,具体看 yolo.py 中的 parse_model 函数


# 检测框的大小
anchors:
  - [ 10,13, 16,30, 33,23 ]  # P3/8 检测小目标的三个检测框尺寸
  - [ 30,61, 62,45, 59,119 ]  # P4/16 检测中等目标的三个检测框尺寸
  - [ 116,90, 156,198, 373,326 ]  # P5/32 检测大目标的三个检测框尺寸
# 1. P3 代表浅层的特征图,浅层的特征图较大包含更多的小目标
# 2. P5 代表深层的特则图,深层的特征图较小包含更多的大目标
# 3. YOLOv5 根据工程经验得到了这3组anchors,可以用于大多数数据集
# 4. 在源代码中是针对 coco 数据集使用 K++ 算法求解出的大、中、小三种大小检测框
# 5. 如果需要修改检测框大小,建议也是用 K++ 算法进行求解


# YOLOv5 v6.0 backbone
# 主干网络使用的模块,用于特征提取,可以替换为其他特征提取网络
# 由于没有分neck模块,故spp写在了backbone部分
backbone:
  # 模块格式如下:[from, number, module, args]
  # form: 当前的输入来自哪一层的输出, -1 表示上一层
  # number: 当前模块的理论重复次数,当该值大于 1 时,与 depth_multiple 共同决定实际重复次数
  # module: 模块名字,通过这个类名去 common.py 中寻找相应的类,进行模块化的搭建网络
  # args: 搭建模块需要的参数,具体看 common.py 中对应的类的要求
  [ [ -1, 1, Conv, [ 64, 6, 2, 2 ] ],  # 0-P1/2,模块编号为0
    [ -1, 1, Conv, [ 128, 3, 2 ] ],  # 1-P2/4
    [ -1, 3, C3, [ 128 ] ],
    [ -1, 1, Conv, [ 256, 3, 2 ] ],  # 3-P3/8
    [ -1, 6, C3, [ 256 ] ],
    [ -1, 1, Conv, [ 512, 3, 2 ] ],  # 5-P4/16
    [ -1, 9, C3, [ 512 ] ],
    [ -1, 1, Conv, [ 1024, 3, 2 ] ],  # 7-P5/32
    [ -1, 3, C3, [ 1024 ] ],
    [ -1, 1, SPPF, [ 1024, 5 ] ],  # 9,模块编号为0
  ]

# YOLOv5 v6.0 head
# 参数解释同backbone
# 没有区分neck模块,所以head部分包含了PANet+Detect部分
head:
  [ [ -1, 1, Conv, [ 512, 1, 1 ] ],
    [ -1, 1, nn.Upsample, [ None, 2, 'nearest' ] ],
    [ [ -1, 6 ], 1, Concat, [ 1 ] ],  # cat backbone 接受两层的输出作为输入:[ -1, 6 ] 表示上一层以及编号为 6 的层
    [ -1, 3, C3, [ 512, False ] ],  # 13,模块编号为13

    [ -1, 1, Conv, [ 256, 1, 1 ] ],
    [ -1, 1, nn.Upsample, [ None, 2, 'nearest' ] ],
    [ [ -1, 4 ], 1, Concat, [ 1 ] ],  # cat backbone P3
    [ -1, 3, C3, [ 256, False ] ],  # 17 (P3/8-small)

    [ -1, 1, Conv, [ 256, 3, 2 ] ],
    [ [ -1, 15 ], 1, Concat, [ 1 ] ],  # cat head P4
    [ -1, 3, C3, [ 512, False ] ],  # 20 (P4/16-medium)


    [ -1, 1, Conv, [ 512, 3, 2 ] ],
    [ [ -1, 11 ], 1, Concat, [ 1 ] ],  # cat head P5
    [ -1, 3, C3, [ 1024, False ] ],  # 23 (P5/32-large)

    [ [ 18, 21, 24 ], 1, Detect, [ nc, anchors ] ],  # Detect(P3, P4, P5)
  ]

到了这里,关于yolo源码注释3——模型配置文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 训练AI数据模型所需要的高性能计算机配置

      目录 配置一 配置二 配置三 云服务器和超级计算机        AI模型训练是一种机器学习的过程,通过训练深度学习模型来自动化处理数据和完成任务。AI训练可以帮助企业和研究人员开发出更加智能、高效的应用,从而提高生产力和创新能力。 以下是按训练性能从低到高

    2024年02月08日
    浏览(46)
  • 【计算机视觉】YOLO 入门:训练 COCO128 数据集

    我们以最近大热的YOLOv8为例,回顾一下之前的安装过程: 这里选择训练的数据集为:COCO128 COCO128是一个小型教程数据集,由COCOtrain2017中的前128个图像组成。 在YOLO中自带的coco128.yaml文件: 1)可选的用于自动下载的下载命令/URL, 2)指向培训图像目录的路径(或指向带有培训

    2024年02月10日
    浏览(40)
  • 【计算机视觉】目标检测 |滑动窗口算法、YOLO、RCNN系列算法

    首先通过前面对计算机视觉领域中的卷积神经网络进行了解和学习,我们知道,可以通过卷积神经网络对图像进行分类。 如果还想继续深入,会涉及到目标定位(object location)的问题。在图像分类的基础上(Image classification)的基础上,除了判断图像中的物体类别是什么,还需要给

    2024年02月20日
    浏览(47)
  • 计算机设计大赛 深度学习YOLO抽烟行为检测 - python opencv

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习YOLO抽烟行为检测 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/dancheng-sen

    2024年02月22日
    浏览(95)
  • 计算机竞赛 深度学习人体跌倒检测 -yolo 机器视觉 opencv python

    🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的人体跌倒检测算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:5分 🧿 更多资料, 项目分享: https

    2024年02月08日
    浏览(74)
  • 深度学习YOLO安检管制物品识别与检测 - python opencv 计算机竞赛

    🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习YOLO安检管制误判识别与检测 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:4分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gi

    2024年02月05日
    浏览(47)
  • 计算机竞赛 基于YOLO实现的口罩佩戴检测 - python opemcv 深度学习

    🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于YOLO实现的口罩佩戴检测 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:4分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/dancheng-s

    2024年02月11日
    浏览(44)
  • 计算机毕设 深度学习人体跌倒检测 -yolo 机器视觉 opencv python

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月14日
    浏览(61)
  • 计算机设计大赛 深度学习人体跌倒检测 -yolo 机器视觉 opencv python

    🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的人体跌倒检测算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:5分 🧿 更多资料, 项目分享: https

    2024年02月21日
    浏览(83)
  • 计算机毕设 深度学习实现行人重识别 - python opencv yolo Reid

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月14日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包