From f814d6c720dced91c99b3f970a3454e0928f9424 Mon Sep 17 00:00:00 2001 From: Paul Andrey <paul.andrey@inria.fr> Date: Mon, 12 Dec 2022 11:18:10 +0100 Subject: [PATCH] Use `dataclass_from_init` to implement `EarlyStopConfig`. --- declearn/main/utils/__init__.py | 2 +- declearn/main/utils/_early_stop.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/declearn/main/utils/__init__.py b/declearn/main/utils/__init__.py index 55267c31..b779241e 100644 --- a/declearn/main/utils/__init__.py +++ b/declearn/main/utils/__init__.py @@ -6,4 +6,4 @@ from ._checkpoint import Checkpointer from ._constraints import Constraint, ConstraintSet, TimeoutConstraint from ._data_info import AggregationError, aggregate_clients_data_info from ._dataclasses import EvaluateConfig, RegisterConfig, TrainingConfig -from ._early_stop import EarlyStopping +from ._early_stop import EarlyStopping, EarlyStopConfig diff --git a/declearn/main/utils/_early_stop.py b/declearn/main/utils/_early_stop.py index 32e049f2..86c15346 100644 --- a/declearn/main/utils/_early_stop.py +++ b/declearn/main/utils/_early_stop.py @@ -5,8 +5,12 @@ from typing import Optional +from declearn.utils import dataclass_from_init + + __all__ = [ "EarlyStopping", + "EarlyStopConfig", ] @@ -91,3 +95,6 @@ class EarlyStopping: else: self._n_iter_stuck = 0 return self.keep_training + + +EarlyStopConfig = dataclass_from_init(EarlyStopping, name="EarlyStopConfig") -- GitLab