PyTorch 警告关于在前向包含多个 autograd 节点时使用非完整后向钩子

Equ*_*olf 5 python hook nodes pytorch autograd

我对 pytorch 和构建神经网络比较陌生。

最近升级后,在运行我的 pytorch 循环时,我现在收到警告“ using a non-full backward hook when the forward contains multiple autograd Nodes”。

培训仍在运行并完成,但我不确定应该将register_full_backward_hook函数放在哪里。

我曾尝试将其添加到我的神经网络中的每一层,但这会导致有关使用不同钩子的更多错误。

任何人都可以请指教吗?

Iva*_*van 2

PyTorch 版本 1.8.0 已弃用register_backward_hook源代码),转而使用register_full_backward_hook源代码)。

您可以在此处的补丁说明中找到它:已弃用的旧式nn.Module后向挂钩(PR #46163

您收到的警告:

当前向包含多个 autograd 节点时使用非完整后向挂钩已被弃用,并将在未来版本中删除。这个钩子会缺少一些grad_input。请使用register_full_backward_hook来获取记录的行为。

只是表示您应该将代码中的所有register_backward_hook调用替换register_full_backward_hook为 以获得文档页面中描述的行为。