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的第一层特征图")
相关推荐
所谓伊人,在水一方3332 小时前
【机器学习精通】第2章 | 优化算法深度解析:从梯度下降到自适应优化器
人工智能·python·算法·机器学习·信息可视化
Jackson@ML2 小时前
2026最新版Anaconda Navigator for Mac安装使用指南
python·macos·anaconda
Storynone2 小时前
【Day24】LeetCode:122. 买卖股票的最佳时机 II,55. 跳跃游戏,45. 跳跃游戏II,1005. K次取反后最大化的数组和
python·算法·leetcode
坚持学习前端日记2 小时前
Agent AI 后端接口对接与大模型适配指南
前端·人工智能·python·ios
十五年专注C++开发2 小时前
dlib: 一个跨平台的 C++ 机器学习 / 数值计算库
c++·人工智能·python·机器学习
所谓伊人,在水一方3332 小时前
【Python数据可视化精通】第11讲 | 可视化系统架构与工程实践
开发语言·python·信息可视化·数据分析·系统架构·pandas
lzp07912 小时前
python爬虫——爬取全年天气数据并做可视化分析
开发语言·爬虫·python
郝学胜-神的一滴2 小时前
深度学习浪潮:解锁技术边界与产业新图景
数据结构·人工智能·python·深度学习·算法
Dxy12393102162 小时前
PyTorch的CosineAnnealingWarmRestartsLR详细介绍:给模型训练来一场“热启动”的艺术
人工智能·pytorch·python