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
。
这是我的代码。
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
。