[utils]
Utils for the main federated learning traning and evaluation processes.
TrainingManager
The main class implemented here is TrainingManager
, that is used by clients
and may also be used to perform centralized machine learning using declearn:
End-user utils
Utils that may be composed into the main orchestration classes:
- Checkpointer: Model, optimizer, and metrics checkpointing class.
- EarlyStopping: Class implementing a metric-based early-stopping decision rule.
- EarlyStopConfig: Dataclass for EarlyStopping instantiation parameters.
Backend: data-info aggregation
Backend utils to aggregate clients' dataset information:
- aggregate_clients_data_info: Validate and aggregate clients' data-info dictionaries.
- AggregationError:
Custom exception that may be raised by
aggregate_clients_data_info
.
Backend: effort constraints
Backend utils that are used to specify and articulate effort constraints for training and evaluation rounds:
- Constraint: Base class to implement effort constraints.
- ConstraintSet: Utility class to wrap sets of Constraint instances.
- TimeoutConstraint: Class implementing a simple time-based constraint.