RuntimeError: a leaf Variable that requires grad has been used in an in-place operation.a += torch.o

2023-11-15

叶子节点不能执行in-place(原地)操作,因为在进行前向传播的时候得到的是叶子结点的地址,再进行反向传播的时候这个地址不变才不会报错,地址改变了就会出错

要将

a += torch.ones((1, ))

改为

a = a + torch.ones((1, ))

另外下划线也是原地操作

w.add_(1)
w.grad.zero_()

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RuntimeError: a leaf Variable that requires grad has been used in an in-place operation.a += torch.o 的相关文章

随机推荐