pytorch 从torch.autograd.gradcheck中移除zero_gradients

a64a0gku  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(227)

我想复制代码here,在Google Colab中运行时出现以下错误?
导入错误:无法从“torch.autograd.gradcheck”导入名称“zero_gradients”(/usr/local/lib/python3.7/dist-packages/torch/autograd/gradcheck.py)
有人能帮我解决这个问题吗?

x4shl7ld

x4shl7ld1#

这看起来像是使用了一个非常旧的PyTorch版本,函数本身已经不可用了。但是,如果你看一下这个提交,你会看到zero_gradients的实现。它所做的只是将输入的梯度归零:

def zero_gradients(i):
    for t in iter_gradients(i):
        t.zero_()

那么zero_gradients(x)应该与当前的API x.zero_grad()相同,假设xnn.Module
或者只是:

if x.grad is not None:
    x.grad.zero_()
ttp71kqs

ttp71kqs2#

我的错误是:
回溯(最近的呼叫最后一次):文件"make_figures/make_recon_figure_multires。py",第23行,来自dlutils。pytorch import count_parameters File "/home/ubuntu/. local/lib/python3.8/site-packages/dlutils/init。py ",第32行,来自dlutils。pytorch。jacobian import jacobian File "/home/ubuntu/. local/lib/python3.8/site-packages/dlutils/pytorch/init. py",第16行,来自dlutils。pytorch。jacobian import jacobian File "/home/ubuntu/. local/lib/python3.8/site-packages/dlutils/pytorch/www.example.com ",第2行,来自torch。自动梯度gradcheck import zero_gradients ImportError:jacobian.py
我基本上去了那个地方:

cd /home/ubuntu/.local/lib/python3.8/site-packages/dlutils/pytorch/

并删除了这条线:

from torch.autograd.gradcheck import zero_gradients

并将该功能添加到顶部:

def zero_gradients(i):
    for t in iter_gradients(i):
        t.zero_()

相关问题