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