When we pass the 1st batch for the forward pass and compute the loss for the 1st batch.
We calculate the back propagation to compute d_loss/dx for all layers.
Then with optimization technique we updates the weights with help of optimizer.step function for the 1st batch.
Later for the second batch whether the updated weights from the 1st batch  will be used or what. And before applying the backward() function for second batch weather we should do optimizer.zero_grade() or WHAT???