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