深度之眼PyTorch训练营第二期---13、hook函数与CAM可视化

好久不见. 提交于 2019-12-05 05:10:40

一、hook函数概念

hook函数机制:不改变主体,实现额外功能,像一个挂件,挂钩,hook

 

1、torch.Tensor.register_hook(hook)

  • 功能:注册一个反向传播hook函数

仅一个输入参数,为张量的梯度

计算图与梯度求导

 

2、torch.nn.Module.register_forward_hook

  • 功能:注册module的前向传播hook函数
  • 参数:
    •   module:当前网络层
    •   input:当前网络层输入数据
    •   output:当前网络层输出数据

 

3、torch.nn.Module.register_forward_pre_hook

  • 功能:注册module前向传播前的hook函数
  • 参数:
    •        module:当前网络层
    •   input:当前网络层输入数据

 

4、torch.nn.Module.register_backward_hook

  • 功能:注册module反向传播的红藕库函数
  • 参数:
    •   module:
    •   grad_input:当前网络层输入梯度数据
    •   grad_output:当前网络层输出梯度数据

 

二、hook函数与特征图提取

三、CAM(class activation map,类激活图)

Grad-CAM:CAM改进版,利用梯度作为特征图权重

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!