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的第一层特征图")
相关推荐
ShCDNay19 分钟前
Python核心底层知识(个人记录)
开发语言·python
来自远方的老作者31 分钟前
第7章 运算符-7.2 赋值运算符
开发语言·数据结构·python·赋值运算符
来自远方的老作者1 小时前
第7章 运算符-7.1 算术运算符
开发语言·数据结构·python·算法·算术运算符
tq6J5Yg141 小时前
windows10本地部署openclaw
前端·python
pl4H522a61 小时前
Python 高效实现 Excel 转 TXT 文本
java·python·excel
数据知道1 小时前
claw-code 源码详细分析:Compaction 前置课——上下文压缩在接口层要预留哪些旋钮,避免后期全局返工?
python·ai·claude code
小邓睡不饱耶1 小时前
花店花品信息管理系统开发实战:Python实现简易门店管理系统
服务器·python·microsoft
witAI2 小时前
手机生成剧本杀软件2025推荐,创新剧情设计工具助力创作
人工智能·python
派大星~课堂2 小时前
【力扣-138. 随机链表的复制 ✨】Python笔记
python·leetcode·链表
王忘杰2 小时前
0基础CUDA炼丹、增加断点保存,从零开始训练自己的AI大模型 87owo/EasyGPT Python CUDA
开发语言·人工智能·python