FedAVGM

Implementation of the Federated Averaging with momentum [FedAVGM19] algorithm.

References

[FedAVGM19]

Tzu-Ming Harry Hsu, Hang Qi, Matthew Brown. Measuring the Effects of Non-Identical Data Distribution for Federated Visual Classification. In arXiv (2019). URL: https://arxiv.org/abs/1909.06335

Classes included in fluke.algorithms.fedavgm

FedAVGMServer

Server class for the FedAVGM algorithm.

FedAVGM

Classes

class fluke.algorithms.fedavgm.FedAVGMServer(model: Module, test_set: FastDataLoader, clients: Iterable[Client], weighted: bool = True, momentum: float = 0.9, **kwargs: dict[str, Any])[source]

Server class for the FedAVGM algorithm.

Parameters:
  • model (Module) – The model to be trained.

  • test_set (FastDataLoader) – The test data.

  • clients (Iterable[Client]) – The clients participating in the federated learning process.

  • eval_every (int, optional) – Evaluate the model every eval_every rounds. Defaults to 1.

  • weighted (bool, optional) – Use weighted averaging. Defaults to True.

  • momentum (float, optional) – The momentum hyper-parameter. Defaults to 0.9.

class fluke.algorithms.fedavgm.FedAVGM(n_clients: int, data_splitter: DataSplitter, hyper_params: DDict)[source]