After loss.backward you cannot do another loss.backward unless retain_variables is true.
In plain words, the backward proc will consume the intermediate saved Tensors (Variables) used for backpropagation unless you explicitly tell PyTorch to retain them.