I was looking through the Caffe LeNet tutorial here , and the question came to mind:
What is the difference between these two codes:
self.solver.step(1)
and
self.solver.net.forward() # train net
They seem to train the network at least in accordance with the comment.
Personally, I think that the first trains the network in training data and updates the weight of both net, and so test_net, but the second seems to only transmit the data packet and apply the lessons learned from the previous step.
If what I think is right, then what is the meaning of the second code in the textbook? why did the code do net.forward? can't solver.step(1)do it myself?
thank you for your time