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的第一层特征图")
相关推荐
啊哈哈1213821 小时前
系统设计复盘:为什么 Agent 的 ReAct 循环必须内嵌确定性保护层——以 FitMind 健康助手的路由与步骤控制为例
人工智能·python·react
一颗牙牙1 天前
安装mmcv
开发语言·python·深度学习
大数据魔法师1 天前
Streamlit(二)- Streamlit 架构与运行机制
python·web
m0_470857641 天前
PHP怎么实现工厂模式_Factory模式编写指南【指南】
jvm·数据库·python
大数据魔法师1 天前
Streamlit(三)- Streamlit 多页面应用开发
python·web
我的xiaodoujiao1 天前
API 接口自动化测试详细图文教程学习系列20--结合Pytest框架使用
python·学习·测试工具·pytest
python在学ing1 天前
前端-CSS学习笔记
前端·css·python·学习
IT策士1 天前
Django 从 0 到 1 打造完整电商平台:为什么用 Django 做电商?
后端·python·django
zkkkkkkkkkkkkk1 天前
Linux进行管理工具Supervisor配置与使用
linux·python·supervisor
2301_783848651 天前
mysql数据库迁移到云平台流程_使用数据传输服务DTS工具
jvm·数据库·python