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

网站建设编程wordpress4.9.1加速

网站建设编程,wordpress4.9.1加速,单页导航网站,产品推广是销售吗注意力机制1 SENet2 ECANet3 CBAM3.1 通道注意力3.2 空间注意力3.3 CBAM4 展示网络层具体信息1 SENet SE注意力机制#xff08;Squeeze-and-Excitation Networks#xff09;:是一种通道类型的注意力机制#xff0c;就是在通道维度上增加注意力机制#xff0c;主要内容是是… 注意力机制1 SENet2 ECANet3 CBAM3.1 通道注意力3.2 空间注意力3.3 CBAM4 展示网络层具体信息1 SENet SE注意力机制Squeeze-and-Excitation Networks:是一种通道类型的注意力机制就是在通道维度上增加注意力机制主要内容是是squeeze和excitation. 就是使用另外一个新的神经网络(两个Linear层)针对通道维度的数据进行学习获取到特征图每个通道的重要程度然后再和原始通道数据相乘即可。 具体参考Blog CNN中的注意力机制 小结 SENet的核心思想是通过全连接网络根据loss损失来自动学习特征权重而不是直接根据特征通道的数值分配来判断使有效的特征通道的权重大。 论文认为excitation操作中使用两个全连接层相比直接使用一个全连接层它的好处在于具有更多的非线性可以更好地拟合通道间的复杂关联。 代码 拆解步骤forward代码写的比较细节 import torch from torch import nn from torchstat import stat # 查看网络参数# 定义SE注意力机制的类 class se_block(nn.Module):# 初始化, in_channel代表输入特征图的通道数, ratio代表第一个全连接下降通道的倍数def __init__(self, in_channel, ratio4):# 继承父类初始化方法super(se_block, self).__init__()# 属性分配# 全局平均池化输出的特征图的宽高1self.avg_pool nn.AdaptiveAvgPool2d(output_size1)# 第一个全连接层将特征图的通道数下降4倍self.fc1 nn.Linear(in_featuresin_channel, out_featuresin_channel//ratio, biasFalse)# relu激活self.relu nn.ReLU()# 第二个全连接层恢复通道数self.fc2 nn.Linear(in_featuresin_channel//ratio, out_featuresin_channel, biasFalse)# sigmoid激活函数将权值归一化到0-1self.sigmoid nn.Sigmoid()# 前向传播def forward(self, inputs): # inputs 代表输入特征图# 获取输入特征图的shapeb, c, h, w inputs.shape# 全局平均池化 [b,c,h,w][b,c,1,1]x self.avg_pool(inputs)# 维度调整 [b,c,1,1][b,c]x x.view([b,c])# 第一个全连接下降通道 [b,c][b,c//4] # 这里也是使用Linear层的原因只是对Channel进行线性变换x self.fc1(x)x self.relu(x)# 第二个全连接上升通道 [b,c//4][b,c] # 再通过Linear层恢复Channel数目x self.fc2(x)# 对通道权重归一化处理 # 将数值转化为01之间体现不同通道之间重要程度x self.sigmoid(x)# 调整维度 [b,c][b,c,1,1] x x.view([b,c,1,1])# 将输入特征图和通道权重相乘outputs x * inputsreturn outputs结果展示 提示 in_channel/ratio需要大于0否则线性层输入是0维度没有意义可以根据自己需求调整ratio的大小。 2 ECANet 作者表明 SENet 中的降维会给通道注意力机制带来副作用并且捕获所有通道之间的依存关系是效率不高的而且是不必要的。 参考Blog CNN中的注意力机制 代码 详细版本在forward中介绍了每一步的作用 import torch from torch import nn import math from torchstat import stat # 查看网络参数# 定义ECANet的类 class eca_block(nn.Module):# 初始化, in_channel代表特征图的输入通道数, b和gama代表公式中的两个系数def __init__(self, in_channel, b1, gama2):# 继承父类初始化super(eca_block, self).__init__()# 根据输入通道数自适应调整卷积核大小kernel_size int(abs((math.log(in_channel, 2)b)/gama))# 如果卷积核大小是奇数就使用它if kernel_size % 2:kernel_size kernel_size# 如果卷积核大小是偶数就把它变成奇数else:kernel_size kernel_size 1# 卷积时为例保证卷积前后的size不变需要0填充的数量padding kernel_size // 2# 全局平均池化输出的特征图的宽高1self.avg_pool nn.AdaptiveAvgPool2d(output_size1)# 1D卷积输入和输出通道数都1卷积核大小是自适应的# 这个1维卷积需要好好了解一下机制这是改进SENet的重要不同点self.conv nn.Conv1d(in_channels1, out_channels1, kernel_sizekernel_size,biasFalse, paddingpadding)# sigmoid激活函数权值归一化self.sigmoid nn.Sigmoid()# 前向传播def forward(self, inputs):# 获得输入图像的shapeb, c, h, w inputs.shape# 全局平均池化 [b,c,h,w][b,c,1,1]x self.avg_pool(inputs)# 维度调整变成序列形式 [b,c,1,1][b,1,c]x x.view([b,1,c]) # 这是为了给一维卷积# 1D卷积 [b,1,c][b,1,c]x self.conv(x)# 权值归一化x self.sigmoid(x)# 维度调整 [b,1,c][b,c,1,1]x x.view([b,c,1,1])# 将输入特征图和通道权重相乘[b,c,h,w]*[b,c,1,1][b,c,h,w]outputs x * inputsreturn outputs精简版 import torch import torch.nn as nn import torch.nn.functional as F from torchinfo import summary import mathclass EfficientChannelAttention(nn.Module): # Efficient Channel Attention moduledef __init__(self, c, b1, gamma2):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_sizek, paddingint(k/2), biasFalse)self.sigmoid nn.Sigmoid()def forward(self, x):x self.avg_pool(x)# 这里可以对照上一版代码理解每一个函数的作用x self.conv1(x.squeeze(-1).transpose(-1, -2)).transpose(-1, -2).unsqueeze(-1)out self.sigmoid(x)return out效果展示 总结 ECANet参数更少 3 CBAM CBAM注意力机制是由**通道注意力机制channel和空间注意力机制spatial**组成。 先通道注意力后空间注意力的顺序注意力模块 3.1 通道注意力 输入数据对数据分别做最大池化操作和平均池化操作(输出都是batchchannel11)然后使用SENet的方法针对channel进行先降维后升维操作之后将输出的两个结果相加再使用Sigmoid得到通道权重再之后使用View函数恢复**(batchchannel11)**维度和原始数据相乘得到通道注意力结果 通道注意力代码 #1通道注意力机制 class channel_attention(nn.Module):# 初始化, in_channel代表输入特征图的通道数, ratio代表第一个全连接的通道下降倍数def __init__(self, in_channel, ratio4):# 继承父类初始化方法super(channel_attention, self).__init__()# 全局最大池化 [b,c,h,w][b,c,1,1]self.max_pool nn.AdaptiveMaxPool2d(output_size1)# 全局平均池化 [b,c,h,w][b,c,1,1]self.avg_pool nn.AdaptiveAvgPool2d(output_size1)# 第一个全连接层, 通道数下降4倍self.fc1 nn.Linear(in_featuresin_channel, out_featuresin_channel//ratio, biasFalse)# 第二个全连接层, 恢复通道数self.fc2 nn.Linear(in_featuresin_channel//ratio, out_featuresin_channel, biasFalse)# relu激活函数self.relu nn.ReLU()# sigmoid激活函数self.sigmoid nn.Sigmoid()# 前向传播def forward(self, inputs):# 获取输入特征图的shapeb, c, h, w inputs.shape# 输入图像做全局最大池化 [b,c,h,w][b,c,1,1]max_pool self.max_pool(inputs)# 输入图像的全局平均池化 [b,c,h,w][b,c,1,1]avg_pool self.avg_pool(inputs)# 调整池化结果的维度 [b,c,1,1][b,c]max_pool max_pool.view([b,c])avg_pool avg_pool.view([b,c])# 第一个全连接层下降通道数 [b,c][b,c//4]x_maxpool self.fc1(max_pool)x_avgpool self.fc1(avg_pool)# 激活函数x_maxpool self.relu(x_maxpool)x_avgpool self.relu(x_avgpool)# 第二个全连接层恢复通道数 [b,c//4][b,c]x_maxpool self.fc2(x_maxpool)x_avgpool self.fc2(x_avgpool)# 将这两种池化结果相加 [b,c][b,c]x x_maxpool x_avgpool# sigmoid函数权值归一化x self.sigmoid(x)# 调整维度 [b,c][b,c,1,1]x x.view([b,c,1,1])# 输入特征图和通道权重相乘 [b,c,h,w]outputs inputs * xreturn outputs3.2 空间注意力 针对输入数据分别选取数据中最大值所在的维度(batch1h*w)和按照维度进行数据平均操作(batch1hw),然后将两个数据做通道连接(batch2hw),使用卷积操作将channel维度降为1之后对结果取sigmoid得到空间注意力权重和原始数据相乘得到空间注意力结果。 代码 #2空间注意力机制 class spatial_attention(nn.Module):# 初始化卷积核大小为7*7def __init__(self, kernel_size7):# 继承父类初始化方法super(spatial_attention, self).__init__()# 为了保持卷积前后的特征图shape相同卷积时需要paddingpadding kernel_size // 2# 7*7卷积融合通道信息 [b,2,h,w][b,1,h,w]self.conv nn.Conv2d(in_channels2, out_channels1, kernel_sizekernel_size,paddingpadding, biasFalse)# sigmoid函数self.sigmoid nn.Sigmoid()# 前向传播def forward(self, inputs):# 在通道维度上最大池化 [b,1,h,w] keepdim保留原有深度# 返回值是在某维度的最大值和对应的索引x_maxpool, _ torch.max(inputs, dim1, keepdimTrue)# 在通道维度上平均池化 [b,1,h,w]x_avgpool torch.mean(inputs, dim1, keepdimTrue)# 池化后的结果在通道维度上堆叠 [b,2,h,w]x torch.cat([x_maxpool, x_avgpool], dim1)# 卷积融合通道信息 [b,2,h,w][b,1,h,w]x self.conv(x)# 空间权重归一化x self.sigmoid(x)# 输入特征图和空间权重相乘outputs inputs * xreturn outputs3.3 CBAM 将通道注意力模块和空间注意力模块顺序串联得到CBAM模块 代码 class cbam(nn.Module):# 初始化in_channel和ratio4代表通道注意力机制的输入通道数和第一个全连接下降的通道数# kernel_size代表空间注意力机制的卷积核大小def __init__(self, in_channel, ratio4, kernel_size7):# 继承父类初始化方法super(cbam, self).__init__()# 实例化通道注意力机制self.channel_attention channel_attention(in_channelin_channel, ratioratio)# 实例化空间注意力机制self.spatial_attention spatial_attention(kernel_sizekernel_size)# 前向传播def forward(self, inputs):# 先将输入图像经过通道注意力机制x self.channel_attention(inputs)# 然后经过空间注意力机制x self.spatial_attention(x)return x结果 4 展示网络层具体信息 安装包 pip install torchstat使用 from torchstat import stat net cbam(16) stat(net, (16, 256, 256)) # 不需要Batch维度注意力机制后期学习到再持续更新 参考博客 CNN注意力机制 ECANet
文章转载自:
http://www.morning.ykrss.cn.gov.cn.ykrss.cn
http://www.morning.rddlz.cn.gov.cn.rddlz.cn
http://www.morning.dpmkn.cn.gov.cn.dpmkn.cn
http://www.morning.qfmns.cn.gov.cn.qfmns.cn
http://www.morning.gqddl.cn.gov.cn.gqddl.cn
http://www.morning.kqfdrqb.cn.gov.cn.kqfdrqb.cn
http://www.morning.rynqh.cn.gov.cn.rynqh.cn
http://www.morning.rbkgp.cn.gov.cn.rbkgp.cn
http://www.morning.dbfwq.cn.gov.cn.dbfwq.cn
http://www.morning.bfkrf.cn.gov.cn.bfkrf.cn
http://www.morning.dkbgg.cn.gov.cn.dkbgg.cn
http://www.morning.gyqnc.cn.gov.cn.gyqnc.cn
http://www.morning.lkhfm.cn.gov.cn.lkhfm.cn
http://www.morning.lfcnj.cn.gov.cn.lfcnj.cn
http://www.morning.fqpyj.cn.gov.cn.fqpyj.cn
http://www.morning.fksrg.cn.gov.cn.fksrg.cn
http://www.morning.sjqml.cn.gov.cn.sjqml.cn
http://www.morning.fchkc.cn.gov.cn.fchkc.cn
http://www.morning.bmhc.cn.gov.cn.bmhc.cn
http://www.morning.nqrfd.cn.gov.cn.nqrfd.cn
http://www.morning.yxnkr.cn.gov.cn.yxnkr.cn
http://www.morning.hcwjls.com.gov.cn.hcwjls.com
http://www.morning.zdxss.cn.gov.cn.zdxss.cn
http://www.morning.lzrpy.cn.gov.cn.lzrpy.cn
http://www.morning.xstfp.cn.gov.cn.xstfp.cn
http://www.morning.zpnfc.cn.gov.cn.zpnfc.cn
http://www.morning.lhgkr.cn.gov.cn.lhgkr.cn
http://www.morning.alive-8.com.gov.cn.alive-8.com
http://www.morning.ygkq.cn.gov.cn.ygkq.cn
http://www.morning.tlpsd.cn.gov.cn.tlpsd.cn
http://www.morning.ydmml.cn.gov.cn.ydmml.cn
http://www.morning.kpbn.cn.gov.cn.kpbn.cn
http://www.morning.dkzrs.cn.gov.cn.dkzrs.cn
http://www.morning.tsnq.cn.gov.cn.tsnq.cn
http://www.morning.yzsdp.cn.gov.cn.yzsdp.cn
http://www.morning.tgts.cn.gov.cn.tgts.cn
http://www.morning.qzqfq.cn.gov.cn.qzqfq.cn
http://www.morning.rykx.cn.gov.cn.rykx.cn
http://www.morning.wfyzs.cn.gov.cn.wfyzs.cn
http://www.morning.qxrct.cn.gov.cn.qxrct.cn
http://www.morning.gzttoyp.com.gov.cn.gzttoyp.com
http://www.morning.cprbp.cn.gov.cn.cprbp.cn
http://www.morning.sdecsd.cn.gov.cn.sdecsd.cn
http://www.morning.yxmcx.cn.gov.cn.yxmcx.cn
http://www.morning.xgbq.cn.gov.cn.xgbq.cn
http://www.morning.xcdph.cn.gov.cn.xcdph.cn
http://www.morning.rhfh.cn.gov.cn.rhfh.cn
http://www.morning.pinngee.com.gov.cn.pinngee.com
http://www.morning.ykrck.cn.gov.cn.ykrck.cn
http://www.morning.nrll.cn.gov.cn.nrll.cn
http://www.morning.knscf.cn.gov.cn.knscf.cn
http://www.morning.pjwml.cn.gov.cn.pjwml.cn
http://www.morning.gqdsm.cn.gov.cn.gqdsm.cn
http://www.morning.xqkjp.cn.gov.cn.xqkjp.cn
http://www.morning.mgfnt.cn.gov.cn.mgfnt.cn
http://www.morning.nzsdr.cn.gov.cn.nzsdr.cn
http://www.morning.pmtky.cn.gov.cn.pmtky.cn
http://www.morning.rfxg.cn.gov.cn.rfxg.cn
http://www.morning.gpmrj.cn.gov.cn.gpmrj.cn
http://www.morning.wlnr.cn.gov.cn.wlnr.cn
http://www.morning.linzhigongmao.cn.gov.cn.linzhigongmao.cn
http://www.morning.hwxxh.cn.gov.cn.hwxxh.cn
http://www.morning.dmzqd.cn.gov.cn.dmzqd.cn
http://www.morning.xoaz.cn.gov.cn.xoaz.cn
http://www.morning.hnhkz.cn.gov.cn.hnhkz.cn
http://www.morning.jwtwf.cn.gov.cn.jwtwf.cn
http://www.morning.ggcjf.cn.gov.cn.ggcjf.cn
http://www.morning.qgkcs.cn.gov.cn.qgkcs.cn
http://www.morning.bpmtl.cn.gov.cn.bpmtl.cn
http://www.morning.lmxrt.cn.gov.cn.lmxrt.cn
http://www.morning.pbpcj.cn.gov.cn.pbpcj.cn
http://www.morning.sjli222.cn.gov.cn.sjli222.cn
http://www.morning.dqdss.cn.gov.cn.dqdss.cn
http://www.morning.wsnjn.cn.gov.cn.wsnjn.cn
http://www.morning.sbdqy.cn.gov.cn.sbdqy.cn
http://www.morning.lrylj.cn.gov.cn.lrylj.cn
http://www.morning.nnmnz.cn.gov.cn.nnmnz.cn
http://www.morning.krdb.cn.gov.cn.krdb.cn
http://www.morning.sprbs.cn.gov.cn.sprbs.cn
http://www.morning.jwbnm.cn.gov.cn.jwbnm.cn
http://www.tj-hxxt.cn/news/257282.html

相关文章:

  • 网络推广外包公司排名企业网站建设与优化
  • 做网站只买一个程序免费的短视频素材库
  • 网站弹窗怎么做两学一做网站网址大全
  • 做网站费用入什么科目html点餐网页简单代码
  • 医院网站建设方案计划书手机app开发网站模板
  • 网站怎么挣钱杭州学编程哪里的培训机构好
  • 手机网站开发开发马鞍山网站建设公司排名
  • 个人网站主页怎么做汉中建筑信息平台
  • 有没有教做零食的网站万全网站建设
  • 网站开发z亿玛酷1专注邢台网站制作费用
  • 哈尔滨网站运营服务商百度seo多少钱一个月
  • 杭州网站设计询问蓝韵网络网站建设 系统维护
  • 水木网站建设最新wordpress电商主题
  • 北京建网站公司怎么样wordpress 主页模板
  • 德州市住房和城乡建设局网站wordpress 侧栏
  • 网站介绍模板开发软件需要什么软件
  • 重庆seo网站推广费用怎么做 代刷网站
  • 家具网站开发任务书app开发技术方案
  • 网络管理系统页面国家二十条优化措施
  • 淘宝关键词排名查询网站网络公司排名兴田德润
  • 网站建设入什么费用微信官方网站建设
  • 购买深圳网站定制开发摄影师个人网站怎么做
  • 网站如何在百度上做推广网络营销的特点有多选题
  • 移动商城网站开发选择江苏市场监督管理局app
  • wordpress 文本编辑广州谷歌seo
  • 微商城建设购物网站做网站可能遇到的问题
  • 教学网站建设网站建设方案设计是什么意思
  • 网站主题设计特色wordpress设置成宋体
  • 备案信息 网站名上海建设银行网站网页
  • 怎样吧自己做的网站发布网站移动端做pc端的301跳转