本文内容:在不同位置添加CBAM注意力机制
目录
论文简介
摘要。我们提出了卷积块注意模块(CBAM),这是一种简单而有效的前馈卷积神经网络注意模块。给定一个中间特征映射,我们的模块沿着两个独立的维度依次推断注意力映射,通道和空间,然后将注意力映射乘以输入特征映射以进行自适应特征细化。因为CBAM是一个轻量级的通用模块,它可以无缝地集成到任何CNN架构中,开销可以忽略不计,并且可以与基础CNN一起进行端到端训练。我们通过在ImageNet-1K、MS COCO检测和VOC 2007检测数据集上进行大量实验来验证我们的CBAM。
我们的实验表明,各种模型在分类和检测性能上都有一致的提高,证明了CBAM的广泛适用性。代码和模型将是公开的。
1.步骤一
新建blocks/CBAM.py文件,添加如下代码:
import torch
import torch.nn as nn
########CBAM
class ChannelAttention(nn.Module):
def __init__(self, channel, ratio=16):
super(ChannelAttention, self).__init__()
s