• 文档 >
  • torch.nn >
  • torch.nn.modules.module.register_module_forward_hook
快捷方式

torch.nn.modules.module.register_module_forward_hook

torch.nn.modules.module.register_module_forward_hook(hook, *, always_call=False)[源代码]

为所有模块注册一个全局前向钩子。

警告

这会向 nn.module 模块添加全局状态,仅用于调试/分析目的。

每次 forward() 计算出输出后,都会调用该钩子。它应该具有以下签名

hook(module, input, output) -> None or modified output

输入仅包含传递给模块的位置参数。关键字参数不会传递给钩子,而只会传递给 forward。钩子可以修改输出。它可以就地修改输入,但这不会影响 forward,因为这是在调用 forward() 后调用的。

参数
  • hook (Callable) – 要注册的用户定义钩子。

  • always_call (bool) – 如果为 True,则无论在调用模块时是否引发异常,都会运行 hook。默认值:False

返回值

一个句柄,可以通过调用 handle.remove() 来删除添加的钩子

返回类型

torch.utils.hooks.RemovableHandle

此钩子将在使用 register_forward_hook 注册的特定模块钩子之前执行。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源