解决RuntimeError: one of the variables needed for gradient computation has been modified by an inplace

这篇具有很好参考价值的文章主要介绍了解决RuntimeError: one of the variables needed for gradient computation has been modified by an inplace。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

错误:RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.FloatTensor [6,128,60,80]], which is output 0 of SoftmaxBackward, is at version 1; expected version 0 instead. Hint: enable anomaly detection to find the operation that failed to compute its gradient, with torch.autograd.set_detect_anomaly(True).
变量的计算中包含了inplace操作,在SoftmaxBackward出。

报错位置:损失反向传递时,猜测可能在计算梯度时发生错误。错误原因可能是inplace的原因。
解决RuntimeError: one of the variables needed for gradient computation has been modified by an inplace,pytorch踩坑,深度学习,python,人工智能
方法1:将inplce=True的地方全部改为False,主要是在ReLU处,经过修改发现对我没有用。

方法2:将所有的a+=b的地方改为a=a+b,对我没有用。

方法3:将代码中nn.Sigmoid函数删除掉,用其他的归一化方法。解决问题。

方法4:参考别的大佬文章,都是sigmoid函数处出错,大佬链接因为我的代码已经运行起来了,就不想暂停,下次再跑试验一下这个方法。
解决RuntimeError: one of the variables needed for gradient computation has been modified by an inplace,pytorch踩坑,深度学习,python,人工智能文章来源地址https://www.toymoban.com/news/detail-714240.html

到了这里,关于解决RuntimeError: one of the variables needed for gradient computation has been modified by an inplace的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包