[aggregator]
Model updates aggregating API and implementations.
An Aggregator
is typically meant to be used on a round-wise basis by
the orchestrating server of a centralized federated learning process,
to aggregate the client-wise model updated into a Vector
that may then
be used as "gradients" by the server's Optimizer
to update the global
model.
This declearn submodule provides with:
API tools
- Aggregator: Abstract base class defining an API for Vector aggregation.
- ModelUpdates: Base dataclass for model updates' sharing and aggregation.
- list_aggregators: Return a mapping of registered Aggregator subclasses.
Concrete classes
- AveragingAggregator: Average-based-aggregation Aggregator subclass.
- GradientMaskedAveraging: Gradient Masked Averaging Aggregator subclass.