PyTorch显示错误“';非类型';对象没有属性';零'&引用;调用zero_u方法时

PyTorch显示错误“';非类型';对象没有属性';零'&引用;调用zero_u方法时,pytorch,Pytorch,有人能回答为什么我的代码显示错误吗。 提前谢谢 代码: 错误: 属性错误 “非类型”对象在该行中没有属性“零” w1=w1-w1.grad*0.001 正在重新分配w1,因此之后w1不再引用它以前使用的张量。要保持w1(例如.grad成员)的所有内部状态,必须就地更新w1。由于这是一个叶张量,我们还需要禁用计算图的构造 带火炬的。无梯度() w1.次级(w1.grad*0.001) import torch torch.manual_seed(0) a = torch.rand((1, 3

有人能回答为什么我的代码显示错误吗。 提前谢谢

代码:

错误: 属性错误 “非类型”对象在该行中没有属性“零”

w1=w1-w1.grad*0.001
正在重新分配
w1
,因此之后
w1
不再引用它以前使用的张量。要保持
w1
(例如
.grad
成员)的所有内部状态,必须就地更新
w1
。由于这是一个叶张量,我们还需要禁用计算图的构造

带火炬的
。无梯度()
w1.次级(w1.grad*0.001)
import torch
torch.manual_seed(0)

a = torch.rand((1, 3), requires_grad = True)
w1 = torch.rand((3, 3), requires_grad = True)
w2 = torch.rand((3, 1), requires_grad = True)

d = torch.matmul(torch.matmul(a, w1), w2)

L = (10 - d)

L.backward()

w1 = w1 - w1.grad*0.001
w1.grad.zero_()