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

做网站发布网网站备案通管局

做网站发布网,网站备案通管局,栅格系统做的网站,PHP网站开发实例教程电子书摘要回顾 近年来,通道注意机制在提高深度卷积神经网络(cnn)性能方面显示出巨大的潜力。 然而,大多数现有方法致力于开发更复杂的注意力模块以获得更好的性能,这不可避免地增加了模型的复杂性。 为了克服性能和复杂性权…

摘要回顾

近年来,通道注意机制在提高深度卷积神经网络(cnn)性能方面显示出巨大的潜力。 然而,大多数现有方法致力于开发更复杂的注意力模块以获得更好的性能,这不可避免地增加了模型的复杂性。 为了克服性能和复杂性权衡的矛盾,提出了一种高效通道注意(ECA)模块,该模块只涉及少量参数,但能带来明显的性能增益。 通过对SENet中信道注意模块的分析,我们通过经验证明避免降维对于学习信道注意非常重要,适当的跨信道交互可以在显著降低模型复杂性的同时保持性能。 因此,我们提出了一种不降维的局部跨通道交互策略,该策略可以通过一维卷积有效地实现。 此外,我们还开发了一种自适应选择一维卷积核大小的方法,以确定局部跨通道相互作用的覆盖范围。 所提出的ECA模块是高效而有效的,例如,我们的模块对ResNet50主干的参数和计算分别为80 vs. 24.37M和4.7e-4 GFLOPs vs. 3.86 GFLOPs,就top -1精度而言,性能提升超过2%。 我们广泛评估了我们的ECA模块在图像分类,目标检测和实例分割与resnets和MobileNetV2的主干。 实验结果表明,该模块效率更高,性能优于同类模块。

性能对比图

方法思路

通过分析降维效应和跨通道交互作用对SE阻塞进行实证诊断。 这促使我们提出我们的ECA模块。 此外,我们还开发了一种自适应确定ECA参数的方法,最后展示了如何将其应用于深度cnn。

原始代码 

import torch, math
from torch import nnclass EfficientChannelAttention(nn.Module):   def __init__(self, c, b=1, gamma=2):super(EfficientChannelAttention, self).__init__()t = int(abs((math.log(c, 2) + b) / gamma))k = t if t % 2 else t + 1self.avg_pool = nn.AdaptiveAvgPool2d(1)self.conv1 = nn.Conv1d(1, 1, kernel_size=k, padding=int(k/2), bias=False)self.sigmoid = nn.Sigmoid()def forward(self, x):out = self.avg_pool(x)# batchsize = 1,channel = c,h,wout = self.conv1(out.squeeze(-1).transpose(-1, -2)).transpose(-1, -2).unsqueeze(-1)out = self.sigmoid(out)return out * x

改进思路

1.动态核尺寸 + 多尺度卷积融合 +动态权重融合


import torch
import math
from torch import nnclass DynamicMultiKernelECA(nn.Module):def __init__(self, c, gamma_range=(2, 8), base_b=1):super().__init__()self.gamma_min, self.gamma_max = gamma_rangeself.base_b = base_b# 多尺度卷积组self.conv3 = nn.Conv1d(c, c, kernel_size=3, padding=1, groups=c, bias=False)self.conv5 = nn.Conv1d(c, c, kernel_size=5, padding=2, groups=c, bias=False)self.conv7 = nn.Conv1d(c, c, kernel_size=7, padding=3, groups=c, bias=False)# 动态权重生成self.weight_net = nn.Sequential(nn.Linear(c, 3),nn.Softmax(dim=1))self.avg_pool = nn.AdaptiveAvgPool2d(1)self.sigmoid = nn.Sigmoid()def forward(self, x):b, c, h, w = x.size()# 动态计算gamma值gamma = self.gamma_min + (self.gamma_max - self.gamma_min) * torch.sigmoid(torch.mean(x, dim=[2,3], keepdim=True))# 修正维度变换y = self.avg_pool(x).squeeze(-1)  # Shape: (b, c, 1)# 多分支卷积conv3_out = self.conv3(y)  # Shape: (b, c, 1)conv5_out = self.conv5(y)conv7_out = self.conv7(y)# 动态权重融合weights = self.weight_net(y.squeeze(-1))  # 输入形状 (b, c)combined = (weights[:, 0].unsqueeze(-1).unsqueeze(-1) * conv3_out +weights[:, 1].unsqueeze(-1).unsqueeze(-1) * conv5_out +weights[:, 2].unsqueeze(-1).unsqueeze(-1) * conv7_out)# 空间重构out = self.sigmoid(combined).view(b, c, 1, 1)return x * out.expand_as(x)if __name__ == '__main__':input = torch.randn(50, 512, 7, 7)eca = DynamicMultiKernelECA(c=512)output = eca(input)print(f"输入形状: {input.shape} → 输出形状: {output.shape}")# 输出应为 torch.Size([50, 512, 7, 7])

2.双向时序注意增强

class BidirectionalECA(nn.Module):def __init__(self, c, groups=8):super().__init__()self.groups = groupsself.avg_pool = nn.AdaptiveAvgPool2d(1)# 双向卷积self.conv_forward = nn.Conv1d(1, 1, kernel_size=3, padding=1, groups=1, bias=False)self.conv_backward = nn.Conv1d(1, 1, kernel_size=3, padding=1, groups=1, bias=False)# 门控机制self.gate = nn.Sequential(nn.Linear(c, c // 16),nn.ReLU(),nn.Linear(c // 16, 2),  # 输出2维权重nn.Softmax(dim=1))self.sigmoid = nn.Sigmoid()def forward(self, x):b, c, h, w = x.size()# 特征压缩y = self.avg_pool(x).squeeze(-1).permute(0, 2, 1)  # (b, 1, c)# 前向传播forward = self.conv_forward(y).sigmoid()  # (b, 1, c)# 逆向传播reversed_y = torch.flip(y, dims=[-1])backward = torch.flip(self.conv_backward(reversed_y), dims=[-1]).sigmoid()# 门控融合(维度对齐)gate_weights = self.gate(y.mean(dim=1))  # (b, 2)combined = (gate_weights[:, 0].view(b, 1, 1) * forward +gate_weights[:, 1].view(b, 1, 1) * backward)# 空间重构out = self.sigmoid(combined).permute(0, 2, 1).unsqueeze(-1)  # (b, c, 1, 1)return x * out.expand_as(x)  if __name__ == '__main__':input = torch.randn(50, 512, 7, 7)eca = BidirectionalECA(c=512)output = eca(input)print(f"输入形状: {input.shape} → 输出形状: {output.shape}")# 输出应为 torch.Size([50, 512, 7, 7])


文章转载自:

http://7mgIfDo8.mgbcf.cn
http://7kKcfL2y.mgbcf.cn
http://yA9w6eQG.mgbcf.cn
http://EAWAeVPv.mgbcf.cn
http://xJAO5l0c.mgbcf.cn
http://rnjAwvad.mgbcf.cn
http://jdu2Rwtd.mgbcf.cn
http://6GEGa5PB.mgbcf.cn
http://sHZMl4k4.mgbcf.cn
http://HoRaZPun.mgbcf.cn
http://60s503wC.mgbcf.cn
http://IAj3Ugac.mgbcf.cn
http://JS7ORenO.mgbcf.cn
http://uZlRcBNa.mgbcf.cn
http://hULxYtbo.mgbcf.cn
http://OFIVQVZI.mgbcf.cn
http://8RrsOueB.mgbcf.cn
http://1j0zu4XM.mgbcf.cn
http://CBGUequd.mgbcf.cn
http://rlJWsdPD.mgbcf.cn
http://OFD9AetL.mgbcf.cn
http://5vJSRWGi.mgbcf.cn
http://90EWPI5N.mgbcf.cn
http://uLPQcyQ2.mgbcf.cn
http://5Pnq9YXx.mgbcf.cn
http://gkOrTLfK.mgbcf.cn
http://pQa98z0V.mgbcf.cn
http://LDbcgl6u.mgbcf.cn
http://wTojUULq.mgbcf.cn
http://JIj1gqkD.mgbcf.cn
http://www.dtcms.com/wzjs/721885.html

相关文章:

  • 网站后台登陆显示验证码错误网站建设系统规划方案
  • 做防水施工 上什么网站找源代码
  • 企业网站怎么备案企业网上管理系统
  • 深圳的网站建设公司价格企业网站管理系统怎么修改密码
  • 展示型网站建设流程方案婚庆公司包含哪些项目
  • 长沙网站快速排名提升wordpress rpc 评论
  • 东台做网站wordpress提示窗
  • app 排名网站浦东新区消息今天
  • 沈阳整站优化网站登陆系统怎么做
  • 网站效果如何制作百度网站地图
  • 网站后台管理程序下载网站搭建项目描述
  • 重庆模板建站软件是计算机网页制作工具
  • 建设网站 托管 费用网站接入变更
  • 企业产品网站源码wordpress最新文章id
  • 设计风格网站泰安网站建设报价
  • 无锡网站制作.30个无加盟费的项目
  • 温州人才网站开发深圳有哪些外贸公司
  • 关于建设旅游网站的书籍企业信用网查询系统
  • 做国外网站什么好中国建筑官网一测
  • 苏州做网站便宜的公司哪家好北京软件开发公司排
  • php的网站数据库如何上传wordpress记录点击数
  • 想做网站建设直接点击链接就能玩的小游戏
  • 山东人才招聘网seo模拟点击算法
  • 哪些招聘网站做海外招聘网站整站程序
  • 邢台做移动网站多少钱凡科建设的网站如何
  • 国外h5制作网站温州十大网络公司排名
  • 简单网站制作教程小工具文本wordpress
  • 制作网站需要什么知识王也夫
  • 河南省建设厅注册中心网站首页做茶叶网站的目的和规划
  • 网站开发公司怎么选择爱客是什么牌子档次