darts icon indicating copy to clipboard operation
darts copied to clipboard

why in my model_search only loss.backward(retain_graph=True) can run

Open xiaoiker opened this issue 7 years ago • 1 comments

RT, I am trying to train it bymyself. But I change it for pytorch0.4. But in my model_search only loss.backward(retain_graph=True) can run. If it is loss.backward( ), is would raise an error that: the second time the graph has been freed. Can someone tell me why?

xiaoiker avatar Dec 07 '18 08:12 xiaoiker

If you're searching for an RNN cell, you are likely backpropagating all the way back through time (relevant comment). Try changing repackage_hidden in rnn/utils.py to this:

def repackage_hidden(h):
  if isinstance(h, torch.Tensor):
     return h.detach()
  else:
    return tuple(repackage_hidden(v) for v in h)

chrischute avatar Dec 13 '18 22:12 chrischute