资讯专栏INFORMATION COLUMN

YOLOv5改善实例教程之再加上注意力机制

89542767 / 654人阅读

  注意力机制最开始被用于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,在这样一个文档中寻找下边这个行业

01.png

  并把SE导入到这一注册表文件里,


  直接从C3Ghost后边再加上SELayer

02.png

  然后就是要改动yaml文件,针对SE这类1394连接的注意力机制,输入输出的通道数一样,因此也不会影响别的组件的运作


  注意力机制也可以装在别处,一定要注意把通道数相匹配满意就好


  随后head一部分也要进行一定的改动,只要我们多多一层,因此需要维持head及其最后输出层不会改变就必须得略微改一下head一部分,一样,注意力机制也要放在head里边,跟加进backbone里边的方式一样。

03.png

  这也是初始的head一部分,必须改动成下边那样

04.png

  只要我们把SE注意力机制插到第八层以后,因此原来的14层就会变成15层,相同的,最后导出也要把叠加层数加一点。

05.png

  再加上这种注意力机制是yolov5最基本的改善,但说实话,注意力机制能够再加上在许多的区域,未必会出效果,因此插在哪里效果最佳就需要我们自主探讨了。注意力机制有很多种,se注意力机制应当属于最基本的通道注意力了啊

       

       综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129068.html

相关文章

  • YOLOv5改善实例教程加上意力机制

      注意力机制最开始被用于NLP行业,Attention就是为了给实体模型意识到信息中哪一块是最关键的,给它分派更多的权重值,获得更多集中注意力在某些特点上,让实体模型主要表现更强,文中关键为大家介绍了有关YOLOv5改善实例教程之加上注意力机制的资料,必须的小伙伴可以借鉴一下  文中关键为大家讲解一下下,怎样在yolov5中加入注意力机制,  这儿给予SE通道专注力的改进方案,别的专注力的加上方...

    89542767 评论0 收藏0
  • yolov5无从下手?一篇就够,2021年全部基于最新配置的yolo入门升级路线

    摘要:的安装下载好之后双击打开可执行安装文件选择安装目录,需要的内存较多,建议将其安装在盘或者盘,不建议放在系统盘盘。 yolov5无从下手?一篇就够的保姆级教程,202...

    AlanKeene 评论0 收藏0
  • 如何把yolov5里的PANet层改成BiFPN详析

      如今yolov5的neck用的都是PANet,在efficient文章中给出了BiFPN结构,也有更为很不错的特性,接下来本文关键为大家介绍了对于如何将yolov5里的PANet层改成BiFPN的资料,需用的小伙伴可以借鉴一下  一、Add  1.在common.py后放入如下所示编码   #融合BiFPN设定可学习培训主要参数学习培训不一样支系的权重值   #2个支系add实际操作   cl...

    89542767 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<