马春杰杰博客
致力于深度学习经验分享!

RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [2, 256, 25, 36]], which is output 0 of CudnnConvolutionBackward, is at version 1; expected version 0 instead

训练的时候报错:

RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [2, 256, 25, 36]], which is output 0 of CudnnConvolutionBackward, is at version 1; expected version 0 instead

主要是梯度求导的问题,可以看下代码里有没有a += xxx这类的代码,把它改成:

a = a + xxx

或者a = a.clone() + xxx

就可以解决问题了。

赞(254) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [2, 256, 25, 36]], which is output 0 of CudnnConvolutionBackward, is at version 1; expected version 0 instead》
文章链接:https://www.machunjie.com/trouble/code_error/1015.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

:smile: :sad: :arrow: :cool: :confused: :cry: :eek: :evil: :exclaim: :idea: :lol: :mad: :mrgreen: :neutral: :question: :razz: :redface: :rolleyes: :surprised: :wink: :biggrin: :twisted: