In Lesson 1, I see Jeremy calling lr_find upon creating a model.
Blockquote
learn = create_cnn(data, models.resnet50, metrics=error_rate)
learn.lr_find()
learn.recorder.plot()
How does lr_find() find the best lr rate ? Does it run like one epoch on the entire dataset for all the different lr rates and plot the loss against the lr rate Or just run one min-batch ? If only one mini-batch , how can we be sure that it will generalise well for the whole dataset ? If for the whole dataset, is it some greedy search.
This is what I got from the docs.Does this mean it will run 100 iterations at max ?
Blockquote
lr_find
(learn
:Learner
,start_lr
:Floats
=1e-07
,end_lr
:Floats
=10
,num_it
:int
=100
,stop_div
:bool
=True
,wd
:float
=None
)
Explore lr fromstart_lr
toend_lr
overnum_it
iterations inlearn
. Ifstop_div
, stops when loss diverges.
Thanks