SaveBestWeights
npfl138.callbacks.SaveBestWeights
Bases: Callback
A callback that saves best model weights to a file.
Source code in npfl138/callbacks/save_best_weights.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | |
__init__
__init__(
path: str,
metric: str,
mode: Literal["max", "min"] = "max",
optimizer_path: str | None = None,
*,
baseline: float | None = None,
patience: int | None = None
) -> None
Create the SaveBestWeights callback.
Parameters:
-
path(str) –A path where weights will be saved using the npfl138.TrainableModule.save_weights method after each epoch. Note that you can use templates like
{logdir}and{epoch[:formatting]}. -
metric(str) –The metric name from
logsdictionary to monitor. -
mode(Literal['max', 'min'], default:'max') –One of
"max"or"min", indicating whether the monitored metric should be maximized or minimized. -
optimizer_path(str | None, default:None) –An optional path passed to npfl138.TrainableModule.save_weights to save also the optimizer state; it is relative to
path. -
baseline(float | None, default:None) –When set, the monitored metric must surpass this value for the model weights to be actually saved.
-
patience(int | None, default:None) –When
patienceis notNone, the callback stops the training if the monitored metric does not improve forpatienceconsecutive epochs.
Source code in npfl138/callbacks/save_best_weights.py
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | |