PyTorch笔记22--Hook函数与CAM算法

本文详细介绍了Hook函数在深度学习中的概念,包括其作用于张量的机制,以及如何使用`torch.nn.Module`的register_forward_hook、register_forward_pre_hook和register_backward_hook进行功能扩展。特别提到了ClassActivationMap(CAM)的应用。
摘要由CSDN通过智能技术生成

Hook函数概念

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

Hook函数与特征图提取

torch.Tensor.register_hook(hook)

hook(grad) -> Tensor or None
#功能:注册一个反向传播hook函数
#Hook函数仅一个输入参数,为张量的梯度

torch.nn.Module.register_forward_hook

hook(module, input, output) -> None
#功能:注册module的前向传播hook函数
#参数:
#module: 当前网络层
#input:当前网络层输入数据
#output:当前网络层输出数据

torch.nn.Module.register_forward_pre_hook

hook(module, input) -> None
#功能:注册module前向传播前的hook函数
#参数:
#module: 当前网络层
#input:当前网络层输入数据

torch.nn.Module.register_backward_hook

hook(module, grad_input, grad_output) -> Tensor or None
#功能:注册module反向传播的hook函数
#参数:
#module: 当前网络层
#grad_input:当前网络层输入梯度数据
#grad_output:当前网络层输出梯度数据

CAM(class activation map,类激活图)

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值