这是我的代码。
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中断(我在语句x = 2
中设置了一个断点)。
有谁知道如何解决这个问题?
注意:如果我使用pycharm,我可以进入函数。但是在远程服务器上,我想使用pdb
。
你可以试试ipdb
https://pypi.org/project/ipdb/而不是pdb
。