• 文档 >
  • 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, *, with_kwargs=False, always_call=False)[source][source]

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

警告

这将为 nn.module 模块添加全局状态,仅用于调试/性能分析。

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

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

输入仅包含传递给模块的位置参数。关键字参数不会传递给钩子,只会传递给 forward 。您可以可选地通过返回一个新值来修改模块的输出,该值将替换 forward() 函数的输出。

参数:
  • hook(可调用对象)- 用户定义的将被注册的钩子。

  • always_call (bool) – 如果 True ,则无论在调用 Module 时是否抛出异常, hook 都将被执行。默认: False

返回值:

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

返回类型:

torch.utils.hooks.RemovableHandle

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


© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,并使用 Read the Docs 提供的主题。

文档

PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

查找开发资源并获得您的疑问解答

查看资源