Post on: Oct 8, 2024Last edited: Oct 8, 2024Words 00 min

type
status
date
slug
summary
tags
category
icon
password

报错信息

RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [518, 256]], which is output 0 of ReluBackward0, is at version 1; expected version 0 instead. Hint: the backtrace further above shows the operation that failed to compute its gradient. The variable in question was changed in there or anywhere later. Good luck!

问题分析

在程序前设置打印cuda栈的调用信息(这一步我忘记是不是必须得了,好像本文的错误自己就会给出报错的位置?)
这个报错大概率是因为新版本torch中的relu函数导致的。
本人遇到情况中,报错信息指示最后一次调用我的代码是一个Relu的函数,报错信息说是ReLU调用F.Relu,其中inplace属性有问题,inplace被设置成true了。

解决方法

  1. 设置Relu(inplace=False)。
  1. 改用LeakyRelu.
第一个不一定其效果,好像这个inplace参数在新版本中有点问题?一般第二个就能解决,换成LeakyReLU就好很多。
 
注意:ReLU和LeakyReLU的区别就是LeakyReLU允许设定的负值通过。
注意:ReLU和LeakyReLU的区别就是LeakyReLU允许设定的负值通过。
 

  • Twikoo
ubuntu安装过程中无法分区

🗒️ubuntu安装过程中无法分区


del/f/s/q指令的简单介绍

🗒️del/f/s/q指令的简单介绍


Announcement
🎉欢迎来到我的博客🎉
👏欢迎更新体验👏