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

重庆网站网络推广数码科技网站

重庆网站网络推广,数码科技网站,wordpress version,更换wordpress库论文《ResNeSt: Split-Attention Networks》 1、作用 ResNeSt提出了一种新的模块化分裂注意力(Split-Attention)块,通过在特征图组间实现注意力机制。通过堆叠这些分裂注意力块,以ResNet风格构建,形成了新的ResNet变…

论文《ResNeSt: Split-Attention Networks》

1、作用

ResNeSt提出了一种新的模块化分裂注意力(Split-Attention)块,通过在特征图组间实现注意力机制。通过堆叠这些分裂注意力块,以ResNet风格构建,形成了新的ResNet变体,即ResNeSt。该网络保留了整体的ResNet结构,便于在不增加额外计算成本的情况下,直接用于下游任务。

2、机制

1、ResNeSt通过分裂注意力块对特征图组进行处理,使得每个组的特征表示通过其子组的加权组合得到,权重基于全局上下文信息。这种方法有效地增强了跨通道信息的交互,从而获得更丰富的特征表示。

2、分裂注意力块包括特征图分组和分裂注意力两个操作。首先将输入特征图分为多个组(卡片),然后在每个卡片内进一步细分为若干子组(基数),通过学习得到的权重对这些子组进行加权和,以获得每个卡片的表示,最后将所有卡片的表示合并起来,形成块的输出。

3、独特优势

1、ResNeSt在不增加额外计算成本的前提下,显著提高了模型的性能。例如,ResNeSt-50在ImageNet上达到了81.13%的顶级1准确率,比以前最好的ResNet变体提高了1%以上。这一改进也有助于下游任务,包括目标检测、实例分割和语义分割。

2、通过简单替换ResNet-50背骨为ResNeSt-50,即可在MS-COCO上将Faster-RCNN的mAP从39.3%提高到42.3%,并将ADE20K上DeeplabV3的mIoU从42.1%提高到45.1% 。

4、代码

import torch
from torch import nn
import torch.nn.functional as F# 用于调整数值,使其可以被某个除数整除,常用于网络层中通道数的设置。
def make_divisible(v, divisor=8, min_value=None, round_limit=.9):min_value = min_value or divisornew_v = max(min_value, int(v + divisor / 2) // divisor * divisor)# 确保减小的百分比不超过一定的比例(round_limit)if new_v < round_limit * v:new_v += divisorreturn new_v# Radix Softmax用于处理分组特征的归一化
class RadixSoftmax(nn.Module):def __init__(self, radix, cardinality):super().__init__()self.radix = radixself.cardinality = cardinalitydef forward(self, x):batch = x.size(0)# 根据radix是否大于1来决定使用softmax还是sigmoid进行归一化if self.radix > 1:x = x.view(batch, self.cardinality, self.radix, -1).transpose(1, 2)x = F.softmax(x, dim=1)x = x.reshape(batch, -1)else:x = x.sigmoid()return x# SplitAttn模块实现分裂注意力机制
class SplitAttn(nn.Module):def __init__(self, in_channels, out_channels=None, kernel_size=3, stride=1, padding=None,dilation=1, groups=1, bias=False, radix=2, rd_ratio=0.25, rd_channels=None, rd_divisor=8,act_layer=nn.ReLU, norm_layer=None, drop_block=None, **kwargs):super(SplitAttn, self).__init__()out_channels = out_channels or in_channelsself.radix = radixself.drop_block = drop_blockmid_chs = out_channels * radix# 根据输入通道数、radix和rd_ratio计算注意力机制的中间层通道数if rd_channels is None:attn_chs = make_divisible(in_channels * radix * rd_ratio, min_value=32, divisor=rd_divisor)else:attn_chs = rd_channels * radixpadding = kernel_size // 2 if padding is None else padding# 核心卷积层self.conv = nn.Conv2d(in_channels, mid_chs, kernel_size, stride, padding, dilation,groups=groups * radix, bias=bias, **kwargs)# 后续层以及RadixSoftmaxself.bn0 = norm_layer(mid_chs) if norm_layer else nn.Identity()self.act0 = act_layer()self.fc1 = nn.Conv2d(out_channels, attn_chs, 1, groups=groups)self.bn1 = norm_layer(attn_chs) if norm_layer else nn.Identity()self.act1 = act_layer()self.fc2 = nn.Conv2d(attn_chs, mid_chs, 1, groups=groups)self.rsoftmax = RadixSoftmax(radix, groups)def forward(self, x):# 卷积和激活x = self.conv(x)x = self.bn0(x)if self.drop_block is not None:x = self.drop_block(x)x = self.act0(x)# 计算分裂注意力B, RC, H, W = x.shapeif self.radix > 1:# 对特征进行重组和聚合x = x.reshape((B, self.radix, RC // self.radix, H, W))x_gap = x.sum(dim=1)else:x_gap = x# 全局平均池化和两层全连接网络,应用RadixSoftmaxx_gap = x_gap.mean(2, keepdims=True).mean(3, keepdims=True)x_gap = self.fc1(x_gap)x_gap = self.bn1(x_gap)x_gap = self.act1(x_gap)x_attn = self.fc2(x_gap)x_attn = self.rsoftmax(x_attn).view(B, -1, 1, 1)if self.radix > 1:out = (x * x_attn.reshape((B, self.radix, RC // self.radix, 1, 1))).sum(dim=1)else:out = x * x_attnreturn out# 输入 N C H W,  输出 N C H W
if __name__ == '__main__':block = SplitAttn(64)input = torch.rand(1, 64, 64, 64)output = block(input)print(output.shape)
http://www.yayakq.cn/news/515005/

相关文章:

  • 小网站大全中国互联网金融公司排名
  • 中学网站建设工作实施方案正能量网站有哪些
  • 梅州公司做网站安卓android下载安装
  • 响应式大学网站个人主页模版
  • 做自我介绍的网站的图片素材怎么用centos做网站
  • 上街三屏网站建设有没有代加工的网站
  • 辽宁工程建设工程信息网站建设网站一般要多久到账
  • 网站建设7个主要流程图网站建设技术网站
  • 广州省建设厅官方网站wordpress去除tag
  • 网站推广软文中学网站源码
  • 斐讯k3做网站设计师网名叫什么好听
  • 通州 网站建设设计房子的软件免费
  • 网站建立数据库wordpress文章末尾加上相关文章
  • 济南网站设计哪家好网站系统开发
  • 网站专业是学什么网站建设如何提案
  • 望城区建设局网站wordpress登录后台闪退
  • 小企业网站价格做网站分辨率多少
  • 淘宝网站建设策划书宝宝个人网站模板
  • 椒江区建设局网站农村电商网站建设方案
  • 百度怎样建立网站链接网站后台空间满了怎么办
  • 想自己做衣服上哪个网站学进入网站前如何做环境检测
  • 网站自适应怎么做移动互联网开发好就业吗
  • 福建省住房建设厅网站6流感用什么药更好
  • 网站充值接口怎么做建设工程信息在哪个网站
  • 合肥网站开发公司电话网站建设设计公司哪家好
  • 做中学网站脚上起小水泡很痒是什么原因
  • 扬中企业网站优化哪家好网站建设小企业案例
  • wordpress多站点教程网站自己怎么做优化
  • 聚通达网站建设如何引流推广
  • 国外的网站服务商企业取名