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

宝安石岩网站建设佛山手机网站设计制作

宝安石岩网站建设,佛山手机网站设计制作,东莞房价2024年房价走势,稻香村网站建设论文《Coordinate Attention for Efficient Mobile Network Design》 1、作用 Coordinate Attention提出了一种新的注意力机制,用于在移动网络中嵌入位置信息到通道注意力中。这种方法不仅关注“哪些通道是重要的”,而且关注“在哪里”关注&#xff0c…

论文《Coordinate Attention for Efficient Mobile Network Design》

1、作用

Coordinate Attention提出了一种新的注意力机制,用于在移动网络中嵌入位置信息到通道注意力中。这种方法不仅关注“哪些通道是重要的”,而且关注“在哪里”关注,通过更精细地控制空间选择性注意力图的生成,进一步提升模型性能。

2、机制

1、坐标信息嵌入

与传统的通道注意力通过2D全局池化将特征张量转换为单一特征向量不同,Coordinate Attention将通道注意力分解为两个1D特征编码过程,分别沿两个空间方向聚合特征。这种方法能够捕捉沿一个空间方向的长程依赖性,同时保留沿另一个空间方向的精确位置信息。

2、坐标注意力生成

将沿垂直和水平方向聚合的特征图编码成一对方向感知和位置敏感的注意力图,这两个注意力图被互补地应用到输入特征图上,增强了对兴趣对象的表示。

3、独特优势

1、方向感知和位置敏感

Coordinate Attention通过生成方向感知和位置敏感的注意力图,使模型能够更准确地定位和识别兴趣对象。这种注意力图能够精确地高亮兴趣区域,提升了模型对空间结构的理解能力。

2、灵活性和轻量级

Coordinate Attention的设计简洁而高效,可以轻松嵌入到经典的移动网络结构中,如MobileNetV2、MobileNeXt和EfficientNet,几乎不增加计算开销,适用于计算资源受限的环境。

3、跨任务性能提升

Coordinate Attention不仅在ImageNet分类任务上有效,更在下游任务如对象检测和语义分割上展现出更好的性能。这证明了其对于捕捉关键信息的能力,尤其在需要密集预测的任务中表现出色。

4、代码

import torch
import torch.nn as nn
import torch.nn.functional as F# 定义h_sigmoid激活函数,这是一种硬Sigmoid函数
class h_sigmoid(nn.Module):def __init__(self, inplace=True):super(h_sigmoid, self).__init__()self.relu = nn.ReLU6(inplace=inplace)  # 使用ReLU6实现def forward(self, x):return self.relu(x + 3) / 6  # 公式为ReLU6(x+3)/6,模拟Sigmoid激活函数# 定义h_swish激活函数,这是基于h_sigmoid的Swish函数变体
class h_swish(nn.Module):def __init__(self, inplace=True):super(h_swish, self).__init__()self.sigmoid = h_sigmoid(inplace=inplace)  # 使用上面定义的h_sigmoiddef forward(self, x):return x * self.sigmoid(x)  # 公式为x * h_sigmoid(x)# 定义Coordinate Attention模块
class CoordAtt(nn.Module):def __init__(self, inp, oup, reduction=32):super(CoordAtt, self).__init__()# 定义水平和垂直方向的自适应平均池化self.pool_h = nn.AdaptiveAvgPool2d((None, 1))  # 水平方向self.pool_w = nn.AdaptiveAvgPool2d((1, None))  # 垂直方向mip = max(8, inp // reduction)  # 计算中间层的通道数# 1x1卷积用于降维self.conv1 = nn.Conv2d(inp, mip, kernel_size=1, stride=1, padding=0)self.bn1 = nn.BatchNorm2d(mip)  # 批归一化self.act = h_swish()  # 激活函数# 两个1x1卷积,分别对应水平和垂直方向self.conv_h = nn.Conv2d(mip, oup, kernel_size=1, stride=1, padding=0)self.conv_w = nn.Conv2d(mip, oup, kernel_size=1, stride=1, padding=0)def forward(self, x):identity = x  # 保存输入作为残差连接n, c, h, w = x.size()  # 获取输入的尺寸x_h = self.pool_h(x)  # 水平方向池化x_w = self.pool_w(x).permute(0, 1, 3, 2)  # 垂直方向池化并交换维度以适应拼接y = torch.cat([x_h, x_w], dim=2)  # 拼接水平和垂直方向的特征y = self.conv1(y)  # 通过1x1卷积降维y = self.bn1(y)  # 批归一化y = self.act(y)  # 激活函数x_h, x_w = torch.split(y, [h, w], dim=2)  # 将特征拆分回水平和垂直方向x_w = x_w.permute(0, 1, 3, 2)  # 恢复x_w的原始维度a_h = self.conv_h(x_h).sigmoid()  # 通过1x1卷积并应用Sigmoid获取水平方向的注意力权重a_w = self.conv_w(x_w).sigmoid()  # 通过1x1卷积并应用Sigmoid获取垂直方向的注意力权重out = identity * a_w * a_h  # 应用注意力权重到输入特征,并与残差连接相乘return out  # 返回输出# 示例使用
if __name__ == '__main__':block = CoordAtt(64, 64)  # 实例化Coordinate Attention模块input = torch.rand(1, 64, 64, 64)  # 创建一个随机输入output = block(input)  # 通过模块处理输入print(output.shape())  # 打印输入和输出的尺寸
http://www.yayakq.cn/news/706697/

相关文章:

  • 湛江市建网站手机端app怎么开发
  • 网站域名实名制荆州seo技术厂家
  • 开原网站建设ppt做的比较好的网站有哪些
  • 郴州做网站 郴网互联网上申报办税系统
  • 用CMS做网站的好处网站流量分成
  • 高仿酒网站怎么做网页设计论文的研究内容
  • 大连市城乡建设档案馆网站商品详情页面模板
  • 北京网站改版报价的物app
  • 个人建网站一般多少钱网站焦点图制作教程
  • 公司怎么注册自己的网站建设工程合同的概念
  • 哈尔滨做平台网站平台公司编写一个android应用程序
  • 网站开发的调研网页搭建环境
  • 网站正在建设中源码值得相信的西安网站开发
  • 入侵织梦网站网站怎样做移动端
  • 上饶网站建设公司免费个人网站服务器推荐
  • 一个空间建多个网站的方法网站备案完毕 怎样建设网站
  • 珠海做网站那家好企业软文营销发布平台
  • 如何组建做网站的团队锦州网站设计
  • 广东网站设计公司wordpress表单打印
  • 代理分佣后台网站开发重庆网站托管服务
  • 汽车网站建设制作费用沈阳做网站企业
  • 宠物网站建设方案网站正在建设中模板 html
  • 网站开发广告怎么写专业管网建设服务
  • 福州市住房和城乡建设部网站做网站后租服务器一年多少钱
  • php做网站知乎手机上购物哪个平台比较好
  • 南京房产网站建设安卓版下载
  • 安阳市网站制作公司网站建设 中企动力医院
  • 惠州网红电子商务seo优化
  • 自适应网站系统吗网站关键词添加多少个
  • 网站建设的目的意义东莞人才网求职