Funny, I was wondering exactly what the title of the question is asking. How does backprop interact to clone?
I build this simple script:
## print clone backward
import torch
​
a = torch.tensor([1,2,3.], requires_grad=True)
c = a.sigmoid()
c_cloned = c.clone()
​
print(f'c_cloned: {c_cloned}')

and got this:
c_cloned: tensor([0.7311, 0.8808, 0.9526], grad_fn=<CloneBackward>)

but notice that the gradient recorded the clone operation (i.e. grad_fn=<CloneBackward>) which I thought was very weird.
So my question is…what does backprop react to a clone operation? What does it even mean backprop through a clone operation?