pdb 无法调试到后向挂钩

pdb cannot debug into backward hooks

这是我的代码。

import torch
v = torch.tensor([0., 0., 0.], requires_grad=True)
x = 1
def f(grad):
    global x
    x = 2
    return grad * 2
h = v.register_hook(f)  # double the gradient
v.backward(torch.tensor([1., 2., 3.]))
h.remove()
print(v.grad)

当我使用 pdb 进行调试时,我发现我无法在函数 f 中中断(我在 f 中的语句 x = 2 处设置了一个断点)。

有人知道怎么解决吗?

注意:如果我使用pycharm,我可以打入函数。但是在远程服务器上,我想使用 pdb.

您可以尝试 ipdb https://pypi.org/project/ipdb/ 而不是 pdb