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)

__init__(patience: int, min_delta: float = 0.0, cumulative_delta: bool = False)[source]
check_loss(model, validation_loss) bool[source]
save_model_checkpoint(model)[source]