suppose I have:
a = torch.tensor([3.0,], requires_grad=True)
b = a * 3
c = b * b * 3
loss = c.mean()
loss.backward()
when the backward is executed:
step1. calculate ∂loss/∂c
step2. calculate ∂loss/∂b
actually step2 has 2 possibility
case1: ∂loss/∂b = ∂loss/∂c * ∂c/∂b
case2: ∂loss/∂b = ∂(loss/∂c*c)/∂b
sow which case is happened?