pytorch/ignite

Enhancements to EarlyStopping handler

Geschlossen

#3.411 geöffnet am 04.06.2025

 (19 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Python (602 Forks)batch import
enhancementhelp wantedmodule: handlers

Repository-Metriken

Stars
 (4.313 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 18T 23h) (19 gemergte PRs in 30 T)

Beschreibung

🚀 Feature

I would propose several enhancements to the EarlyStopping handler.

  1. Introduce a new parameter, min_delta_mode, mimicking the parameter threshold_mode of ReduceLROnPlateau. If min_delta_mode="abs" (default) everything works as of now, while if min_delta_mode="rel" the score comparison becomes score >= best_score (1 + min_delta).
  2. 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 #3317 but this solution might be more compact?
  • It would be nice to have the same threshold and threshold_mode nomenclature as ReduceLROnPlateau, 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 to min_delta.

Contributor Guide