How long should you train between fitting stages?

Hi all,

First post here. Very new to ML/DL but loving the course!

Throughout almost every lesson the fit method is called multiple times with different parameters. For example from lesson 1:
learn.precompute=True
learn.fit(1e-2, 1)

learn.precompute=False
learn.fit(1e-2, 3, cycle_len=1)

learn.unfreeze()
learn.fit(lr, 3, cycle_len=1, cycle_mult=2)

I was just wondering how you know when to stop fitting one and start on the next? Is it the case that you always just want to train the first ones for a few epochs and the very last one until you get the best accuracy/loss or is it that you train each stage until you receive the best accuracy/loss given those settings before moving on to the next?

My second question revolves around how to determine when you have your best results. From my reading of the forum it seems to me that training until training and validation loss stop going down is the general approach. Would that be correct?

Thanks for your help!