【发布时间】:2018-10-29 18:44:01
【问题描述】:
我是 pytorch 的初学者,我面临以下问题:
当我得到以下张量的梯度时(请注意,我以某种方式使用了一些变量 x,如下所示),我得到了梯度:
import torch
myTensor = torch.randn(2, 2,requires_grad=True)
with torch.enable_grad():
x=myTensor.sum() *10
x.backward()
print(myTensor.grad)
现在,如果我尝试修改 myTensor 的元素,则会收到 leaf variable has been moved into the graph interior 的错误。请参阅此代码:
import torch
myTensor = torch.randn(2, 2,requires_grad=True)
myTensor[0,0]*=5
with torch.enable_grad():
x=myTensor.sum() *10
x.backward()
print(myTensor.grad)
我后面的代码有什么问题?我该如何纠正?
任何帮助将不胜感激。非常感谢!
【问题讨论】:
-
非常感谢。我刚刚添加了一条评论,表明您的答案效果很好。再次感谢!在另一个相关说明中,您能否查看一下我最近发布但尚未收到任何回复的相关内容?:stackoverflow.com/questions/53507346/…