DAY 42
2026/8/9 1:25:44 网站建设 项目流程

浙大疏锦行

一、核心概念铺垫

二、PyTorch 中的 Hook 函数

PyTorch 利用动态计算图,在模型前向/反向传播的特定节点插入回调函数,实现不修改模型结构就能监听甚至修改中间层数据。

Hook 类型注册方法功能典型用途
模块钩子(前向)register_forward_hook捕获模块的输入/输出(只读)可视化中间层特征图、特征提取
模块钩子(反向)register_backward_hook捕获模块的输入/输出梯度分析梯度流、梯度裁剪
张量钩子register_hook监听/修改张量的梯度自定义梯度变换、梯度检查

使用时需注意:钩子完成后调用handle.remove()释放,避免内存泄漏。

三、Grad-CAM 的原理与实现

目标:生成类激活热力图,显示 CNN 做分类决策时关注的图像区域。
核心步骤

  1. 选定目标卷积层,通过 Hook 捕获其前向输出(特征图)反向梯度
  2. 对梯度做全局平均池化,得到各特征图的重要性权重
  3. 用权重对特征图加权求和,再经过 ReLU 去除负影响,生成原始热力图。
  4. 将热力图双线性插值到原图尺寸,归一化后以彩色叠加到原始图像上。

示例结果:对 CIFAR-10 青蛙图像,模型主要通过腿和头部区域判断类别,验证了决策的合理性。


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询