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

本页目录