googleinterns/deep-stabilization

there is no gradient

xuridongshengpxd opened this issue · 4 comments

Hi author,
good job.when i ran the train.py,i meet this error.

File "D:\mycodeapp\anaconda\envs\py7\lib\site-packages\torch\nn\modules\module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "D:\mycode\deep-stabilization-master\dvs\model.py", line 27, in forward
self.hx, self.cx = self.LSTM(x, (self.hx, self.cx))
File "D:\mycodeapp\anaconda\envs\py7\lib\site-packages\torch\nn\modules\module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "D:\mycodeapp\anaconda\envs\py7\lib\site-packages\torch\nn\modules\rnn.py", line 974, in forward
self.bias_ih, self.bias_hh,
(function print_stack)
Traceback (most recent call last):
File "D:/mycode/deep-stabilization-master/dvs/train.py", line 276, in
train(args = args)
File "D:/mycode/deep-stabilization-master/dvs/train.py", line 254, in train
train_loss = run_epoch(model, train_loader, cf, count, lr, optimizer=optimizer, clip_norm=clip_norm, is_training=True, USE_CUDA=USE_CUDA)
File "D:/mycode/deep-stabilization-master/dvs/train.py", line 147, in run_epoch
loss.backward(retain_graph=True)
File "D:\mycodeapp\anaconda\envs\py7\lib\site-packages\torch\tensor.py", line 221, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph)
File "D:\mycodeapp\anaconda\envs\py7\lib\site-packages\torch\autograd_init
.py", line 132, in backward
allow_unreachable=True) # allow_unreachable flag
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [2048]] is at version 2; expected version 1 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!

Hi! did you find a solution to your problem? I also had the same problem.

It seems the problem of the Pytorch version. Please try Pytorch 1.0.0 or replace LayerLSTM class with nn.LSTM.

It seems the problem of the Pytorch version. Please try Pytorch 1.0.0 or replace LayerLSTM class with nn.LSTM.

Problem solved! Thanks for your reply!

hello, could you tell me how to replace LayerLSTM with nn.LSTM