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

济南外贸网站建设公司广州抖音推广公司

济南外贸网站建设公司,广州抖音推广公司,凤翔做网站,辽阳公司网站建设SKAttention选择核注意力 标题:SKAttention 期刊:IEEE2019 代码: https://github.com/implus/SKNet 简介: 动机:增大感受野来提升性能、多尺度信息聚合方式解决的问题:自适应调整感受野大小创新性:提出选择性内核…

SKAttention选择核注意力

标题:SKAttention

期刊:IEEE2019

代码: https://github.com/implus/SKNet

简介:

  • 动机:增大感受野来提升性能、多尺度信息聚合方式
  • 解决的问题:自适应调整感受野大小
  • 创新性:提出选择性内核(SK)卷积softmax来进行自适应选择

模型结构

在这里插入图片描述

模型代码

import numpy as np
import torch
from torch import nn
from torch.nn import init
from collections import OrderedDict# Selective Kernel Attention
class SKAttention(nn.Module):def __init__(self, channel=512, kernels=[1, 3, 5, 7], reduction=16, group=1, L=32):super().__init__()# 中间维度d的计算self.d = max(L, channel // reduction)# 多分支卷积层(使用不同尺寸的卷积核)self.convs = nn.ModuleList([])for k in kernels:self.convs.append(nn.Sequential(OrderedDict([# 分组卷积(输入输出通道数相同,保持维度)('conv', nn.Conv2d(channel, channel, kernel_size=k, padding=k // 2, groups=group)),# 批归一化(保持维度)  ('bn', nn.BatchNorm2d(channel)),# ReLU激活函数('relu', nn.ReLU())])))# # 通道压缩层(全连接层)self.fc = nn.Linear(channel, self.d)# 多分支注意力权重生成层self.fcs = nn.ModuleList([])for i in range(len(kernels)):self.fcs.append(nn.Linear(self.d, channel))# 注意力权重归一化(沿分支维度softmax)self.softmax = nn.Softmax(dim=0)def forward(self, x):# 输入x形状: [B, C, H, W]bs, c, _, _ = x.size() # 获取输入的batch_size, 通道数, 高度, 宽度conv_outs = []### Split阶段:多分支特征提取for conv in self.convs:conv_outs.append(conv(x)) # 每个分支输出: [B, C, H, W]feats = torch.stack(conv_outs, 0)  # 堆叠后形状: [K, B, C, H, W](K是kernel数量)### Fuse阶段:特征融合U = sum(conv_outs) # 逐元素相加 → [B, C, H, W]### Channel Reduction:通道压缩S = U.mean(-1).mean(-1)  # 空间全局平均池化 → [B, C,1,1]Z = self.fc(S)   # 全连接层降维 → [B, d](d=self.d)### 计算注意力权重weights = []for fc in self.fcs: #  每个kernel对应一个全连接层weight = fc(Z) # 全连接层输出 → [B, C]weights.append(weight.view(bs, c, 1, 1))  # 调整形状 → [B, C, 1, 1]attention_weughts = torch.stack(weights, 0)   # 堆叠 → [K, B, C, 1, 1]attention_weughts = self.softmax(attention_weughts)  # 沿K维度softmax归一化### fuseV = (attention_weughts * feats).sum(0) # 加权求和 → [B, C, H, W]return Vif __name__ == '__main__':input = torch.rand(1,64,256,256).cuda()model = SKAttention(channel=64, reduction=8).cuda()output = model (input)print('input_size:', input.size())print('output_size:', output.size())print("最大内存占用:", torch.cuda.max_memory_allocated() // 1024 // 1024, "MB")
http://www.dtcms.com/wzjs/261760.html

相关文章:

  • 建设工程的在建设部网站产品软文范例
  • 销售型网站建设基本要素互联网产品营销策划方案
  • 三明 网站建设业务推广方式有哪些
  • 建设电子商务网站流程图怎么样推广自己的网址
  • 广东省路桥建设发展有限公司网站焦作seo推广
  • 网站建设必学课程求购买链接
  • 网站建设公司做网站要多少费用广西seo优化
  • 石家庄h5网站建设厦门人才网597人才网
  • 做网站公司怎么推销长沙网站制作主要公司
  • 外贸公司的经营范围seo排名方案
  • 怎样做公司网站介绍提升seo排名
  • 好网站开发独立站seo是什么意思
  • dwcc2018怎么做网站二级域名在线扫描
  • 贵阳网站建设培训模板建站优点
  • 大型网站制作公司飞数seo优化诊断工具
  • 做网站至少要花多少钱互联网营销顾问是做什么的
  • 辽宁建设银行官方网站seo和sem的区别
  • 邢台网站建设信息想建立自己的网站怎么建立
  • wordpress推荐适合seo的主题需要优化的网站有哪些?
  • 动态网站编程基础seo技术教学视频
  • 东台网站建设公司免费seo关键词优化方案
  • 怎么做网站搜索引擎利于搜索百度识图网页入口
  • 手机端网站建站百度关键词优化软件如何
  • 电子商务网站的规划与分析色盲测试图 考驾照
  • 济南集团网站建设报价站长工具友链检测
  • 做网站的公司哪里好百度收录规则2022
  • 上海网站建设 微信开发公司大数据精准营销的策略
  • vi设计公司平台哪个好整站seo
  • html怎么做网站十大网络推广公司
  • 哈尔滨建设部网站如何推广公司网站