Early stopping bug?

I have a problem which would very much benefit from early stopping, but that’s what I get when I try to use it:

Screenshot_2020-05-08 ORIENTME Neural Networks - Jupyter Notebook

I use the following definition of learner and training

import fastai2
from fastai2.data import block
import fastai2.vision.data
from fastai2 import vision as vis
import fastai2.vision.learner
import fastai2.callback.tracker

resnet_learner = vis.learner.cnn_learner(
    dls,
    vis.models.resnet34,
    loss_func=fastai2.metrics.mse,
    callback_fns=[
        fastai2.callback.tracker.EarlyStoppingCallback
    ],
    pretrained=True
)
resnet_learner.freeze()
resnet_learner.fit(10)

What I tried:
Using partial to set EarlyStoppingCallback's parameters to ‘valid_loss’ and ‘patience’ to either 0 or 1. Neither did work.

You should add EarlyStopping to your fit instead, not the Learner itself. IE fit_one_cycle(5, 1e-2, cbs=EarlyStoppingCallback)

3 Likes