RuntimeError: Trying to backward through the graph a second time (or directly access saved tensor...

原因:在跑深度学习中出现:RuntimeError: Trying to backward through the graph a second time (or directly access

原因:

在跑深度学习中出现:RuntimeError: Trying to backward through the graph a second time (or directly access saved tensors after they have already been freed).  Saved intermediate values of the graph are freed when you call .backward() or autograd.grad().  Specify retain_graph=True if you need to backward through the graph a second time or if you need to access saved tensors after calling backward.

解决办法:

发现 retain_graph=True 也不对,原因是我想要将每次跑出的结果加入下一次训练迭代,直接将预测的结果y_pre赋给x,改变了tensor的梯度(grad),其实只需要改变data属性就行,错误结果为:

xx = y_pred

修改正确为:

xx = y_pred.data

发布者:admin,转转请注明出处:http://www.yc00.com/web/1755027334a5228438.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信