Вот мой код.
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
.