Great explanation and contribution! Thanks @muellerzr.
Hi @vivekharshey1!
Please check your fastai version. “lr_find” implementation in mine (2.0.19) looks like this:
SuggestedLRs = collections.namedtuple(‘SuggestedLRs’, nms)
Thank you for your aid! I am not using import *, but “from fastai.callback.schedule import minimum” works like a charm.
Sorry to mislead about the tuple. lr_find() automagically changes a single item passed to suggest_funcs into a tuple with one element.
But note that the parens around minimum in learn.lr_find(suggest_funcs=(minimum))
are not doing anything.
Right, thank you!
Yes, it was resolved.
I am not sure why I get different sets of lrs
values running lr_find()
several times on the same model (with the same pretrained weights) and exactly the same dataset, it looks like these,
run1: minimum=0.33113112449646, steep=0.0008317637839354575, valley=0.02754228748381138, slide=0.2089296132326126
run2: minimum=0.02089296132326126, steep=0.001737800776027143, valley=0.00363078061491251, slide=0.0030199517495930195
run3: minimum=0.10964782238006592, steep=0.007585775572806597, valley=0.013182567432522774, slide=0.02754228748381138
Running lr_find is partly a random process (look at its source code) , so that’s why you get slightly different results. If you do not want this you need to reset the random generators used before each run. But usually it does not cause any harm.