Training Utils
This module includes functions that useful for training .
- class flood_forecast.training_utils.EarlyStopper(patience: int, min_delta: float = 0.0, cumulative_delta: bool = False)[source]
EarlyStopping handler can be used to stop the training if no improvement after a given number of events. Args:
- patience (int):
Number of events to wait if no improvement and then stop the training.
- score_function (callable):
It should be a function taking a single argument, an
Engine
object, and return a score float. An improvement is considered if the score is higher.- trainer (Engine):
trainer engine to stop the run if no improvement.
- min_delta (float, optional):
A minimum increase in the score to qualify as an improvement, i.e. an increase of less than or equal to min_delta, will count as no improvement.
- cumulative_delta (bool, optional):
It True, min_delta defines an increase since the last patience reset, otherwise, it defines an increase after the last event. Default value is False.
Examples: .. code-block:: python
from ignite.engine import Engine, Events from ignite.handlers import EarlyStopping def score_function(engine):
val_loss = engine.state.metrics[‘nll’] return -val_loss
handler = EarlyStopping(patience=10, score_function=score_function, trainer=trainer) # Note: the handler is attached to an Evaluator (runs one epoch on validation dataset). evaluator.add_event_handler(Events.COMPLETED, handler)