Utilities

flood_forecast.utils.flatten_list_function(input_list)[source]
class flood_forecast.utils.EarlyStopper(patience: int, min_delta: float = 0.0, cumulative_delta: bool = False)[source]

Bases: object

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)

check_loss(model, validation_loss) → bool[source]
save_model_checkpoint(model)[source]