If we run d_loss.backward() wouldn’t the error below occur again?
RuntimeError: Trying to backward through the graph a second time, 
but the buffers have already been freed. Specify retain_graph=True 
when calling backward the first time.  ```