Hi I am trying to understand the NN with pytorch. I have doubts in gradient calculations..
import torch.optim as optim
create your optimizer
optimizer = optim.SGD(net.parameters(), lr=0.01)
# in your training loop:
optimizer.zero_grad() # zero the gradient buffers
output = net(input)
loss = criterion(output, target)
loss.backward()
optimizer.step() # Does the update
From the about code, I understood loss.backward() calculates the gradients.
I am not sure, how these info shared with optimizer
to update the gradient.
Can anyone explain this..
Thanks in advance !