Hi, thanks for the quick reply. It worked! yey.
However, I dont understand why.
In this post
the difference between clone and detach is explained as follows:

  
    
    
    Clone and detach in v0.4.0 
  
  
    We’ll provide a migration guide when 0.4.0 is officially released. Here are the answers to your questions: 


tensor.detach() creates a tensor that shares storage with tensor that does not require grad. tensor.clone()creates a copy of tensor that imitates the original tensor's requires_grad field. 
You should use detach() when attempting to remove a tensor from a computation graph, and clone as a way to copy the tensor while still keeping the copy as a part of the computation graph it came from. …
  



You should use  detach()  when attempting to remove a tensor from a computation graph, and  clone  as a way to copy the tensor while still keeping the copy as a part of the computation graph it came from.

Maybe I am confusing the computatoinal graph and the memory adress. In my case I would like to remoe the grads object form my graph or not?