yolov5利用yaml文件生成模型

一、yolov5的yaml文件构成

yaml文件如下图

在这里插入图片描述

不论是backbone还是head,每一行都由一个列表组成,列表里面有四个元素,另外,还有两个参数depth和width。在搭建模型的时候,会利用每一行的信息生成一个模块,并按照顺序放进一个列表里面,这样子就得到一个模块列表

二、列表中每个元素的意义

[-1, 1, Conv, [128, 3, 2]]  
[[-1, 6], 1, Concat, [1]]

列表的第一个元素:

如果是一个-1,则不会用到其他层的信息,只做自己的前向传播就好,如果是一个列表,比如上面第二行代码,会将数字6保存下来,表示当前模块会用到模块列表中第六个模块的信息,那么在前向传播的时候第六个模块的输出将会被保存

列表的第二个元素:

把这个元素用n来表示,则n和上面提到的depth一起用来控制模型的深度,下面是代码

n = max(round(n * depth), 1) if n > 1 else n

通过上面的代码更新n的值,这个n将会被用来表示当前模块被重复的次数

列表的第三个元素:

这个元素用来实例化一个类,比如conv模块

class Conv(nn.Module):# Standard convolutiondef __init__(self, c1, c2, k=1, s=1, p=None, g=1, act=True):  # ch_in, ch_out, kernel, stride, padding, groupssuper(Conv, self).__init__()self.conv = nn.Conv2d(c1, c2, k, s, autopad(k, p), groups=g, bias=False)self.bn = nn.BatchNorm2d(c2)self.act = nn.ReLU() if act is True else (act if isinstance(act, nn.Module) else nn.Identity())def forward(self, x):return self.act(self.bn(self.conv(x)))def fuseforward(self, x):return self.act(self.conv(x))

列表的第四个元素:

这个会被作为参数输入到模块中,不过会被做一些处理,其中比较重要的是第一个元素将会乘以width参数作为这个模块的输出通道数,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/217465.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示(二)

通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示(二) mp4媒体流数据 #include <ros/ros.h> #include <signal.h> #include <sensor_msgs/Image.h> #include <message_filters/subscriber.h> #include <message_filters/synchroniz…

matlab不用sawtooth,自己写代码实现锯齿波/三角波

matlab自己写代码实现锯齿波/三角波 为什么要自己写代码&#xff0c;不用现成的函数sawtooth&#xff1f; 函数sawtooth的采样频率是固定的&#xff0c;也就是给定一个时间段&#xff0c;只能按照固定的频率取点。比如10s内&#xff0c;每1s取一个点。这样就得到了1s 2s 3s……

VSCode 警告:v-on event ‘@toggleClick‘ must be hyphenated

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

redis运维(二十一)redis 的扩展应用 lua(三)

一 redis 的扩展应用 lua redis加载lua脚本文件 ① 调试lua脚本 redis-cli 通过管道 --pipe 快速导入数据到redis中 ② 预加载方式 1、错误方式 2、正确方式 "案例讲解" ③ 一次性加载 执行命令&#xff1a; redis-cli -a 密码 --eval Lua脚本路径 key …

企业计算机中了locked勒索病毒怎么解锁,locked勒索病毒解密,数据恢复

科技的进步为企业的生产生活提供了极大便利&#xff0c;但随之而来的网络安全威胁也不断增加&#xff0c;近期云天数据恢复中心陆续接到很多企业的求助&#xff0c;企业的计算机服务器遭到了locked勒索病毒攻击&#xff0c;导致企业的所有业务无法正常开展&#xff0c;所有计算…

论文阅读_生成式Agent

英文名称: Generative Agents: Interactive Simulacra of Human Behavior 中文名称: 生成代理&#xff1a;**人类行为的交互式模拟** 文章: http://arxiv.org/abs/2304.03442 代码: https://github.com/joonspk-research/generative_agents 作者: Joon Sung Park 机构: 斯坦福大…

OSG粒子系统与阴影-自定义粒子系统示例<1>(4)

自定义粒子系统示例(一) 自定义粒子系统示例(一)的代码如程序清单11-5所示&#xff1a; /* 自定义粒子系统示例1 */ void particleSystem_11_5(const string &strDataFolder) {osg::ref_ptr<osgViewer::Viewer> viewer new osgViewer::Viewer();osg::ref_ptr<os…

VUE留言板

效果预览图 完整代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>作业</title><styl…

MLFlow 入门(Model管理,生命周期管理)

最近需求需要使用mlflow&#xff0c;去学习了下&#xff0c;记录。 简介 MLflow是一个开源平台&#xff0c;专门为了帮助机器学习的从业者和团队处理机器学习过程中的复杂性而设计的。MLflow关注机器学习项目的完整生命周期&#xff0c;确保每个阶段都是可管理的、可追溯的和可…

【JavaEE初阶】线程安全问题及解决方法

目录 一、多线程带来的风险-线程安全 1、观察线程不安全 2、线程安全的概念 3、线程不安全的原因 4、解决之前的线程不安全问题 5、synchronized 关键字 - 监视器锁 monitor lock 5.1 synchronized 的特性 5.2 synchronized 使用示例 5.3 Java 标准库中的线程安全类…

【Python】(自定义类)计算语句执行时间

一个玩具&#xff0c;写着来玩的。 用的time模块&#xff0c;代码很简单(所以才说是个玩具) 代码&#xff1a; import time class TimeStamp:__timestampNone__keyNonedef __init__(self,tipsNone,keyNone):self.__timestamp{}self.NewStamp(tips,key)def NewStamp(self,tips,…

rfc4301- IP 安全架构

1. 引言 1.1. 文档内容摘要 本文档规定了符合IPsec标准的系统的基本架构。它描述了如何为IP层的流量提供一组安全服务&#xff0c;同时适用于IPv4 [Pos81a] 和 IPv6 [DH98] 环境。本文档描述了实现IPsec的系统的要求&#xff0c;这些系统的基本元素以及如何将这些元素结合起来…