avalanche.training.plugins.EarlyStoppingPlugin
- class avalanche.training.plugins.EarlyStoppingPlugin(patience: int, val_stream_name: str, metric_name: str = 'Top1_Acc_Stream', mode: str = 'max')[source]
Early stopping plugin.
Simple plugin stopping the training when the accuracy on the corresponding validation metric stopped progressing for a few epochs. The state of the best model is saved after each improvement on the given metric and is loaded back into the model before stopping the training procedure.
- __init__(patience: int, val_stream_name: str, metric_name: str = 'Top1_Acc_Stream', mode: str = 'max')[source]
- Parameters
patience – Number of epochs to wait before stopping the training.
val_stream_name – Name of the validation stream to search in the
metrics. The corresponding stream will be used to keep track of the evolution of the performance of a model. :param metric_name: The name of the metric to watch as it will be reported in the evaluator. :param mode: Must be “max” or “min”. max (resp. min) means that the given metric should me maximized (resp. minimized).
Methods
__init__
(patience, val_stream_name[, ...])- param patience
Number of epochs to wait before stopping the training.
after_backward
(strategy, **kwargs)Called after criterion.backward() by the BaseStrategy.
after_eval
(strategy, **kwargs)Called after eval by the BaseStrategy.
after_eval_dataset_adaptation
(strategy, **kwargs)Called after eval_dataset_adaptation by the BaseStrategy.
after_eval_exp
(strategy, **kwargs)Called after eval_exp by the BaseStrategy.
after_eval_forward
(strategy, **kwargs)Called after model.forward() by the BaseStrategy.
after_eval_iteration
(strategy, **kwargs)Called after the end of an iteration by the BaseStrategy.
after_forward
(strategy, **kwargs)Called after model.forward() by the BaseStrategy.
after_train_dataset_adaptation
(strategy, ...)Called after train_dataset_adapatation by the BaseStrategy.
after_training
(strategy, **kwargs)Called after train by the BaseStrategy.
after_training_epoch
(strategy, **kwargs)Called after train_epoch by the BaseStrategy.
after_training_exp
(strategy, **kwargs)Called after train_exp by the BaseStrategy.
after_training_iteration
(strategy, **kwargs)Called after the end of a training iteration by the BaseStrategy.
after_update
(strategy, **kwargs)Called after optimizer.update() by the BaseStrategy.
before_backward
(strategy, **kwargs)Called before criterion.backward() by the BaseStrategy.
before_eval
(strategy, **kwargs)Called before eval by the BaseStrategy.
before_eval_dataset_adaptation
(strategy, ...)Called before eval_dataset_adaptation by the BaseStrategy.
before_eval_exp
(strategy, **kwargs)Called before eval_exp by the BaseStrategy.
before_eval_forward
(strategy, **kwargs)Called before model.forward() by the BaseStrategy.
before_eval_iteration
(strategy, **kwargs)Called before the start of a training iteration by the BaseStrategy.
before_forward
(strategy, **kwargs)Called before model.forward() by the BaseStrategy.
before_train_dataset_adaptation
(strategy, ...)Called before train_dataset_adapatation by the BaseStrategy.
before_training
(strategy, **kwargs)Called before train by the BaseStrategy.
before_training_epoch
(strategy, **kwargs)Called before train_epoch by the BaseStrategy.
before_training_exp
(strategy, **kwargs)Called before train_exp by the BaseStrategy.
before_training_iteration
(strategy, **kwargs)Called before the start of a training iteration by the BaseStrategy.
before_update
(strategy, **kwargs)Called before optimizer.update() by the BaseStrategy.