day 46

@浙大疏锦行

在深度学习中,注意力机制(Attention Mechanism) 是让模型学会"关注重点"的方法。正如人类 在看图时会自动聚焦于主体(如猫、车、人脸),而忽略背景,模型也希望学会同样的能力。

python 复制代码
class SimpleCNN(nn.Module):
    def __init__(self, num_classes=10):
        super(SimpleCNN, self).__init__()
        self.layer1 = nn.Sequential(
            nn.Conv2d(3, 64, 3, padding=1),
            nn.BatchNorm2d(64),
            nn.ReLU(),
            SEBlock(64)  # 加入通道注意力模块
        )
        self.layer2 = nn.Sequential(
            nn.Conv2d(64, 128, 3, padding=1),
            nn.BatchNorm2d(128),
            nn.ReLU(),
            SEBlock(128)
        )
        self.fc = nn.Linear(128, num_classes)
 
    def forward(self, x):
        out = self.layer1(x)
        out = self.layer2(out)
        out = torch.mean(out, dim=[2, 3])  # Global AvgPool
        out = self.fc(out)
        return out
 
model = SimpleCNN()
print(model)
python 复制代码
if __name__ == "__main__":
    # 1. 加载图片
    img_tensor, img = load_image()
    
    # 2. 初始化两个CNN(加SE和不加SE)
    cnn_no_se = SimpleCNN()
    cnn_with_se = CNNWithSE()
    cnn_no_se.eval()
    cnn_with_se.eval()
    
    # 3. 提取特征
    feat1_no_se, feat2_no_se = cnn_no_se(img_tensor)
    feat1_with_se, feat2_with_se = cnn_with_se(img_tensor)
    
    # 4. 可视化对比(第一层特征图)
    visualize_feat(feat1_no_se, "不加SE的第一层特征图")
    visualize_feat(feat1_with_se, "加SE的第一层特征图")
相关推荐
Smoothcloud润云6 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力
databook7 小时前
从循环到向量化:NumPy提速的7个关键思维
python·数据分析·numpy
棉猴7 小时前
玩游戏学Python1-Python和pgzero库的安装
python·pygame·玩游戏·pgzero·pgzrun
诺伦7 小时前
GEO优化数据实证:78%引用流向官网的机制拆解与小品牌三步管线实战教程 | RiseClaw玄策
python·seo·geo·内容营销·ai搜索
oooost8 小时前
pytorch学习笔记1
python·学习方法
数字融合8 小时前
透明化视频孪生虚实映射一体化融合技术
人工智能·python·数码相机
jack186898 小时前
Lovable.Dev 全栈应用快速落地实战指南
python
华研前沿标杆游学9 小时前
【标杆研学】走进茅台集团|对标学习长期主义与匠心精神
python
GitFun9 小时前
KDJ vs RSI:11年数据实测,金叉死叉输了48个点
python·股票·量化交易
李可以量化9 小时前
从零读懂配对交易(上):从套利本源到配对交易的核心逻辑
python·区块链·量化交易·通达信·qmt