torch.nn.modules.module.register_module_forward_pre_hook#
- torch.nn.modules.module.register_module_forward_pre_hook(hook)[source]#
为所有模块注册一个通用的前向预钩子。
警告
此函数会向 nn.module 模块添加全局状态,仅用于调试/剖析目的。
每次调用
forward()
之前都会调用该钩子。它应该具有以下签名:hook(module, input) -> None or modified input
输入仅包含传递给模块的位置参数。关键字参数不会传递给钩子,只会传递给
forward
。钩子可以修改输入。用户可以在钩子中返回一个元组或单个修改后的值。如果返回单个值(除非该值已经是元组),我们将把该值包装成一个元组。此钩子具有高于使用
register_forward_pre_hook
注册的特定模块钩子的优先级。- 返回
一个句柄,可用于通过调用
handle.remove()
来移除添加的钩子- 返回类型
torch.utils.hooks.RemovableHandle