评价此页

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