Open
Description
🚀 Feature
I would propose several enhancements to the EarlyStopping handler.
- Introduce a new parameter,
min_delta_mode
, mimicking the parameterthreshold_mode
of ReduceLROnPlateau. Ifmin_delta_mode="abs"
(default) everything works as of now, while ifmin_delta_mode="rel"
the score comparison becomesscore >= best_score (1 + min_delta)
. - Introduce a new parameter
mode
that work's as in ReduceLROnPlateau, allowing to handle validation metrics to be minimized.
Other ideas I'd like to discuss are:
- Natively implementing
min_epochs
/min_evals
, preventing EarlyStopping from terminating until it has been evaluated at least X times. I know this could be addressed as in How to set early stopping not enabled during the first n epochs #3317 but this solution might be more compact? - It would be nice to have the same
threshold
andthreshold_mode
nomenclature asReduceLROnPlateau
, but I realize this would probably break older code. - I personally find the parameter name
cumulative_delta
quite counter-intuitive. When I first read about that parameter, I understood it was taking the cumulative sum of the improvements and comparing this cumulative sum tomin_delta
.