Issues with recorder.plot()

I am using v1.0.45 and recorder.plot() has some differences. One error I got from plotting after unfreezing the model is this

Shape of array too small to calculate a numerical gradient, at least (edge_order + 1) elements are required.

What does this mean?

I have something figured out but have not got the complete picture though.
That error is raised by np.gradient function when the array passed to that function does not have enough elements to compute gradient. This is mainly caused by the skip_start and skip_end arguments in the function recorder.plot().

Cheap and dirty way would be to do learner.recorder.plot(skip_start=0, skip_end=0) then all the learning rates will be considered. Otherwise, the default arguments trim the learning rates.

This is a known bug that has been fixed in master (will be in 1.0.46).

1 Like

Thanks for letting me know.

Is there a workaround to make it work on 1.0.44? There are some breaking changes if I update to 1.0.46 and I have to stick with 1.0.44 for now.

Not that I know of, no.

The thing I always do whenever it happens on v1.0.44 is do this twice:

learn.unfreeze()
learn.lr_find()
learn.recorder.plot()