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:当前网络层输出梯度数据