注意力机制最开始被用于NLP行业,Attention就是为了给实体模型意识到信息中哪一块是最关键的,给它分派更多的权重值,获得更多专注力在有些特点上,让实体模型主要表现更强,文中关键为大家介绍了有关YOLOv5改善实例教程之再加上注意力机制的资料,必须的小伙伴可以借鉴一下
文中关键为大家讲解一下下,怎样在yolov5中加入注意力机制,
在这里给予SE通道专注力的改进方案,别的专注力的再加上方式,如出一辙
最先寻找SE注意力机制的pytorch编码
class SELayer(nn.Module): def __init__(self,c1,r=16): super(SELayer,self).__init__() self.avgpool=nn.AdaptiveAvgPool2d(1) self.l1=nn.Linear(c1,c1//r,bias=False) self.relu=nn.ReLU(inplace=True) self.l2=nn.Linear(c1//r,c1,bias=False) self.sig=nn.Sigmoid() def forward(self,x): b,c,_,_=x.size() y=self.avgpool(x).view(b,c) y=self.l1(y) y=self.relu(y) y=self.l2(y) y=self.sig(y) y=y.view(b,c,1,1) return x*y.expand_as(x)
直接将SE注意力机制程序,拷贝到models文件夹下边的iommon.py文件中
随后寻找yolo.py,在这样一个文档中寻找下边这个行业
并把SE导入到这一注册表文件里,
直接从C3Ghost后边再加上SELayer
然后就是要改动yaml文件,针对SE这类1394连接的注意力机制,输入输出的通道数一样,因此也不会影响别的组件的运作
注意力机制也可以装在别处,一定要注意把通道数相匹配满意就好
随后head一部分也要进行一定的改动,只要我们多多一层,因此需要维持head及其最后输出层不会改变就必须得略微改一下head一部分,一样,注意力机制也要放在head里边,跟加进backbone里边的方式一样。
这也是初始的head一部分,必须改动成下边那样
只要我们把SE注意力机制插到第八层以后,因此原来的14层就会变成15层,相同的,最后导出也要把叠加层数加一点。
再加上这种注意力机制是yolov5最基本的改善,但说实话,注意力机制能够再加上在许多的区域,未必会出效果,因此插在哪里效果最佳就需要我们自主探讨了。注意力机制有很多种,se注意力机制应当属于最基本的通道注意力了啊
综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129068.html
注意力机制最开始被用于NLP行业,Attention就是为了给实体模型意识到信息中哪一块是最关键的,给它分派更多的权重值,获得更多集中注意力在某些特点上,让实体模型主要表现更强,文中关键为大家介绍了有关YOLOv5改善实例教程之加上注意力机制的资料,必须的小伙伴可以借鉴一下 文中关键为大家讲解一下下,怎样在yolov5中加入注意力机制, 这儿给予SE通道专注力的改进方案,别的专注力的加上方...
摘要:的安装下载好之后双击打开可执行安装文件选择安装目录,需要的内存较多,建议将其安装在盘或者盘,不建议放在系统盘盘。 yolov5无从下手?一篇就够的保姆级教程,202...
如今yolov5的neck用的都是PANet,在efficient文章中给出了BiFPN结构,也有更为很不错的特性,接下来本文关键为大家介绍了对于如何将yolov5里的PANet层改成BiFPN的资料,需用的小伙伴可以借鉴一下 一、Add 1.在common.py后放入如下所示编码 #融合BiFPN设定可学习培训主要参数学习培训不一样支系的权重值 #2个支系add实际操作 cl...
阅读 889·2023-01-14 11:38
阅读 833·2023-01-14 11:04
阅读 684·2023-01-14 10:48
阅读 1887·2023-01-14 10:34
阅读 891·2023-01-14 10:24
阅读 750·2023-01-14 10:18
阅读 479·2023-01-14 10:09
阅读 519·2023-01-14 10:02