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

YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读

YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读

  • YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读
    • 一、前言
    • 二、我的环境
    • 三、yolov5s.yaml源文件内容
    • 四、Parameters
    • 五、anchors配置
    • 六、backbone
    • 七、head
    • 八、总结

OLOv5-第Y2周:训练自己的数据集)

YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读

一、前言

  • 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
  • 🍖 原作者:K同学啊

二、我的环境

  • 电脑系统:Windows 10
  • 语言环境:Python 3.8.5
  • 编译器:colab在线编译
  • 深度学习环境:PyTorch

三、yolov5s.yaml源文件内容

在这里插入图片描述
可以看到,yaml源文件主要分为4个部分的内容:Parametersanchorsbackbonehead

四、Parameters

这一部分是yolov5s.yaml,yolov5m.yaml,yolov5l.yaml,yolov5x.yaml几个文件之间主要的不同点,有不同的宽度与深度

nc: 20 #80  # number of classes
depth_multiple: 0.33  # model depth multiple
width_multiple: 0.50  # layer channel multiple

nc:分类的数量,根据你自己训练的数据集当中的数量进行修改
depth__multiple:控制子模块的数量
width_multiple:控制卷积核的数量

通过depth__multiplewidth_multiple就可以实现不同复杂度的模型设计。YOLOv5s 、 YOLov5m 、 YOLOv51 、 YOLOv5x四种模型的区别仅在于depth_multiple与width_multiple这个两个参数的不同。

五、anchors配置

在这里插入图片描述
anchor一共有三行,分别在图片当中大,中,小的目标进行计算,

第一行在最大特征图上,小数值检测大目标
第二行在图片第二大的特征图上
第三行在最小的特征图上,大数值检测小目标

YOLOv5初始化了9个anchors,在三个Detect层使用(3个feature map)中使用,每个featuremap的每个grid_cell都有三个anchor进行预测。分配的规则是:

尺度越大的feature map越靠前,相对原图的下采样率越小,感受野越小,所以相对可以预测一些尺度比较小的物体,所有分配到的 anchors越小;

尺度越小的 feature map越靠后,相对原图的下采样率越大,感受野越大,所以相对可以预测一些尺度比较大的物体,所有分配到的 anchors越大。

即可以在小特征图(feature map)上检测大目标,也可以在大特征图上检测小目标。

YOLOv5根据工程经验得到了这么3组anchors,对于很多数据集而言确实挺合适的。但是也不能保证这3组anchors就适用于所有的数据集,所有

六、backbone

在这里插入图片描述

  • from:表示当前模块的来源取自于哪一层的输出,比如-1表示取自上一层的输出
  • number:表示当前选择的模块需要重复的次数,比如3就是要重复3次,但这只是理论上的重复次数,具体还要看depth_multiple共同决定网络模型的深度
  • module:模块类名,根据给到的类名到common.py当中寻找相应的类进行模块化的搭建网络
  • args:是一个list,模块搭建所需要的参数,channel(通道数),bias(偏差,残差)等
  • Focus:对特征图进行切片操作,[64,3]得到[3,32,3],即输入channel=3(RGB),输出为64*0.50(width_multiple)=32,3为卷积核尺
  • Conv:nn.conv(kenel_size=1,stride=1,groups=1,bias=False)+Bn+Leaky_ReLu.[-1, 1, Conv, [128, 3, 2]]具体主要含义是指输入来自上一层,模块数量(number)为1个,子模块为Conv,网络中最终有128*0.5=32个卷积核,卷积核尺寸为3,stride=2。
  • BottleNeckCSP:借鉴CSPNet网络结构,由3个卷积层和X个残差模块Concat组成,若有False,则没有残差模块,那么组成结构为nn.conv+Bn+Leaky_ReLu
  • SPP:[-1, 1, SPP, [1024, [5, 9, 13]]]表示5×5,9×9,13×13的最大池化方式,进行多尺度融合

七、head

在这里插入图片描述这是YOLOv5s的head,数据格式和backbone一样

八、总结

通过Y3学习,解读了yolov5s.yaml的源文件,学会了yolov5s.yaml的文件配置。

相关文章:

YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读

YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读 YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读一、前言二、我的环境三、yolov5s.yaml源文件内容四、Parameters五、anchors配置六、backbone七、head八、总结 OLOv5-第Y2周:训练自己的数据集) YOLOv5白皮书-第Y3周:yolov5s.…...

C++ pair+map+set+multimap+multiset+AVL树+红黑树(深度剖析)

文章目录 1. 前言2. 关联式容器3. pair——键值对4. 树形结构的关联式容器4.1 set4.1.1 set 的介绍4.1.2 set 的使用 4.2 map4.2.1 map 的介绍4.2.2 map 的使用 4.3 multiset4.3.1 multiset 的介绍4.3.2 multiset 的使用 4.4 multimap4.4.1 multimap 的介绍4.4.2 multimap 的使…...

指针的学习1

目录 什么是指针? 野指针 造成野指针的原因: 如何避免野指针? 内存和指针 如何理解编址? 指针变量和地址 取地址操作符& 指针变量和解引用操作符 指针变量 如何拆解指针类型? 指针变量的大小 指针变量…...

c++:敲桌子

先输出1-100数字&#xff0c;从100个数字中找到这些特殊数字改为敲桌子。 特殊数字&#xff1a;1.7的倍数 2.十位数上有7 3.个位数上有7 #include<iostream> using namespace std; int main() {for (int i 1; i < 100; i) {if (i / 10 7 || i % 10 7|| i % 7 0)…...

Linux中判断文件系统的方法

文章目录 Linux中判断文件系统的方法1.使用mount命令2.使用blkid命令3.使用file命令4.使用fstab文件5.使用df命令&#xff08;这个用的比较多&#xff09;6.使用fsck命令7.使用lsblk命令(推荐-简单好用) Linux中判断文件系统的方法 1.使用mount命令 # 这样查看的只有已经挂载…...

聊聊ClickHouse MergeTree引擎的固定/自适应索引粒度

前言 我们在刚开始学习ClickHouse的MergeTree引擎时&#xff0c;就会发现建表语句的末尾总会有SETTINGS index_granularity 8192这句话&#xff08;其实不写也可以&#xff09;&#xff0c;表示索引粒度为8192。在每个data part中&#xff0c;索引粒度参数的含义有二&#xf…...

20240202在WIN10下使用whisper.cpp

20240202在WIN10下使用whisper.cpp 2024/2/2 14:15 【结论&#xff1a;在Windows10下&#xff0c;确认large模式识别7分钟中文视频&#xff0c;需要83.7284 seconds&#xff0c;需要大概1.5分钟&#xff01;效率太差&#xff01;】 83.7284/4200.1993533333333333333333333333…...

【Linux】基本指令(上)

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:Linux ⚙️操作环境:Xshell (操作系统:CentOS 7.9 64位) 目录 Xshell快捷键 Linux基本指令 ls指令 pwd指令 cd指令 touch指令 mkdir指令 rmdir指令/rm指令 结语 Xshell快捷键 AltEnter 全屏/取消全屏 Tab 进…...

【DB2】—— 一次关于db2 sqlcode -420 22018的记录

情况描述 在DB2 10.5数据库中执行以下SQL语句&#xff1a; SELECT * FROM aa WHERE aa.ivc_typ IN (213,123,12334,345)其中aa.ivc_typ列的类型为VARCHAR(10) 关于执行会发生以下情况 类型转换&#xff1a;SQL引擎会尝试把IN列表中的整数常量转换为VARCHAR(10)类型&#xf…...

账簿和明细账

目录 一. 账簿的意义和种类二. 明细账 \quad 一. 账簿的意义和种类 \quad 账簿是由一定格式、互有联系的账页组成&#xff0c;以审核无误的会计凭证为依据,用来序时地、分类地记录和反映各项经济业务的会计簿籍&#xff08;或称账本&#xff09;。设置和登记账簿是会计工作的重…...

C# Onnx GroundingDINO 开放世界目标检测

目录 介绍 效果 模型信息 项目 代码 下载 介绍 地址&#xff1a;https://github.com/IDEA-Research/GroundingDINO Official implementation of the paper "Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection" 效果 …...

PyCharm / DataSpell 导入WSL2 解析器,实现GPU加速

PyCharm / DataSpell 导入WSL2 解析器的实现 Windows的解析器不好么&#xff1f;设置WSL2和实现GPU加速为PyCharm / DataSpell 设置WSL解析器设置Interpreter Windows的解析器不好么&#xff1f; Windows上的解析器的确很方便&#xff0c;也省去了我们很多的麻烦。但是WSL2的解…...

Android矩阵Matrix裁切setRectToRect拉伸Bitmap替代Bitmap.createScaledBitmap缩放,Kotlin

Android矩阵Matrix裁切setRectToRect拉伸Bitmap替代Bitmap.createScaledBitmap缩放&#xff0c;Kotlin class MyImageView : AppCompatImageView {private var mSrcBmp: Bitmap? nullprivate var testIV: ImageView? nullconstructor(ctx: Context, attrs: AttributeSet) :…...

TensorFlow2实战-系列教程11:RNN文本分类3

&#x1f9e1;&#x1f49b;&#x1f49a;TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 6、构建训练数据 所有的输入样本必须都是相同shape&#xff08;文本长度&#xff0c;…...

故障诊断 | 一文解决,RF随机森林的故障诊断(Matlab)

效果一览 文章概述 故障诊断 | 一文解决,RF随机森林的故障诊断(Matlab) 模型描述 随机森林(Random Forest)是一种集成学习(Ensemble Learning)方法,常用于解决分类和回归问题。它由多个决策树组成,每个决策树都独立地对数据进行训练,并且最终的预测结果是由所有决策…...

DAO设计模式

概念&#xff1a;DAO(Data Access Object) 数据库访问对象&#xff0c;**面向数据库SQL操作**的封装。 &#xff08;一&#xff09;场景 问题分析 在实际开发中&#xff0c;针对一张表的复杂业务功能通常需要和表交互多次&#xff08;比如转账&#xff09;。如果每次针对表的…...

【Midjourney】新手指南:参数设置

1.--aspect 或 --ar 用于设置图片长宽比&#xff0c;例如 --ar 16:9就是设置图片宽为16&#xff0c;高为9 2.--chaos 用于设置躁点&#xff0c;噪点值越高随机性越大&#xff0c;取值为0到100&#xff0c;例如 --chaos 50 3.--turbo 覆盖seetings的设置并启用极速模式生成…...

阿里云a10GPU,centos7,cuda11.2环境配置

Anaconda3-2022.05-Linux-x86_64.sh gcc升级 centos7升级gcc至8.2_centos7 yum gcc8.2.0-CSDN博客 paddlepaddle python -m pip install paddlepaddle-gpu2.5.1.post112 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html 报错 ImportError: libssl.so…...

RTSP/Onvif协议视频平台EasyNVR激活码授权异常该如何解决

TSINGSEE青犀视频安防监控平台EasyNVR可支持设备通过RTSP/Onvif协议接入&#xff0c;并能对接入的视频流进行处理与多端分发&#xff0c;包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等多种格式。在智慧安防等视频监控场景中&#xff0c;EasyNVR可提供视频实时监控直播、云端…...

React16源码: React中event事件对象的创建过程源码实现

event 对象 1 &#xff09; 概述 在生产事件对象的过程当中&#xff0c;要去调用每一个 possiblePlugin.extractEvents 方法现在单独看下这里面的细节过程&#xff0c;即如何去生产这个事件对象的过程 2 &#xff09;源码 定位到 packages/events/EventPluginHub.js#L172 f…...

DeOldify构建AI编程工具链:自动化代码生成辅助图像处理项目

DeOldify构建AI编程工具链&#xff1a;自动化代码生成辅助图像处理项目 最近在做一个老照片修复的项目&#xff0c;核心用的是DeOldify这个效果很棒的着色模型。但在实际开发中&#xff0c;我发现一个挺有意思的问题&#xff1a;围绕DeOldify的集成和前后处理&#xff0c;其实…...

最新评测显示,AIGC论文助手全面评估了十款主流AI写作工具的核心能力,详细拆解其功能特点与实际应用效果。

工具名称 核心优势 适用场景 aicheck 快速降AIGC率至个位数 AIGC优化、重复率降低 aibiye 智能生成论文大纲 论文结构与内容生成 askpaper 文献高效整合 开题报告与文献综述 秒篇 降重效果显著 重复率大幅降低 一站式论文查重降重 查重改写一站式 完整论文优化…...

Jimeng AI Studio(Z-Image Edition)与Python爬虫数据结合:自动化图像生成实战

Jimeng AI Studio&#xff08;Z-Image Edition&#xff09;与Python爬虫数据结合&#xff1a;自动化图像生成实战 1. 引言 你有没有遇到过这样的情况&#xff1a;每天需要为大量新闻资讯、产品信息或社交媒体内容配图&#xff0c;但手动设计耗时耗力&#xff0c;外包成本又太…...

mac上安装openclaw从入门到删除

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录安装拉取最新版本拉取对应版本卸载1、卸载openclaw2、卸载openclaw CLI3、确认是否删除参考来源保姆级&#xff01;Mac 安装小龙虾 OpenClaw 全教程OpenClaw 卸载教程…...

智慧农业草莓成熟度识别 基于cnn的YOLOv11深度学习 智慧农业草莓成熟度目标检测系统 草莓识别系统(数据集使用 YOLOv11 进行草莓成熟度计数与检测 注意:此模块是在以下资源的+模型+界面)

使用 YOLOv11 进行草莓成熟度计数与检测 注意&#xff1a;此模块是在以下资源的帮助下完成的&#xff1a;Detection_image.png1. 代码库中每个 Notebook 的说明Dataset split NB: 此 Notebook 用于将原始的 3000 张图片按 0.8、0.1 和 0.1 的比例分为训练集、验证集和测试集。N…...

PLC立体车库智能仿真系统:博途V15 3×2车库模型,西门子PLC控制,触摸屏操作,自动出入...

PLC立体车库智能仿真 博途V15 32立体车库 西门子1200PLC 触摸屏仿真 不需要实物 自带人机界面 小车上下行有电梯效果 每一个程序段都有注释 FC块标准化编写 自带变频器输出也可以仿真 现在拥有自动出入仓库的功能 IO表已列出最近在搞的32立体车库仿真项目挺有意思&#xff0c;用…...

C# 13主构造函数+Records+With表达式三重组合技(.NET 8.0正式版实测):DTO层代码减少83%,但需绕过这个编译器Bug

第一章&#xff1a;C# 13主构造函数案例C# 13 引入了主构造函数&#xff08;Primary Constructor&#xff09;语法&#xff0c;允许在类或结构体声明时直接定义构造参数&#xff0c;并自动将参数提升为类型成员&#xff08;如只读字段或属性&#xff09;&#xff0c;显著简化了…...

如何用readme.so快速制作专业README:揭秘实时预览与Markdown同步技术

如何用readme.so快速制作专业README&#xff1a;揭秘实时预览与Markdown同步技术 【免费下载链接】readme.so An online drag-and-drop editor to easily build READMEs 项目地址: https://gitcode.com/gh_mirrors/re/readme.so readme.so是一款功能强大的在线拖放编辑器…...

如何快速掌握 Dism++:Windows 系统优化的终极多语言解决方案

如何快速掌握 Dism&#xff1a;Windows 系统优化的终极多语言解决方案 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Dism 是一款强大的 Windows 系统优化工具…...

JavaScript this 关键字详解

JavaScript this 关键字详解 引言 在JavaScript中,this 是一个非常重要的关键字,它用来指代当前执行上下文中的对象。理解 this 的行为和作用域对于编写高效、可维护的JavaScript代码至关重要。本文将深入探讨 this 的概念、用法以及在不同场景下的表现。 什么是 this? …...