FedNova

Implementation of the [FedNova21] algorithm.

References

[FedNova21]

Jianyu Wang, Qinghua Liu, Hao Liang, Gauri Joshi, and H. Vincent Poor. Tackling the Objective Inconsistency Problem in Heterogeneous Federated Optimization. In NeurIPS 2020. URL: https://arxiv.org/abs/2007.07481

Classes included in fluke.algorithms.fednova

Classes

class fluke.algorithms.fednova.FedNovaClient(index: int, train_set: FastDataLoader, test_set: FastDataLoader, optimizer_cfg: OptimizerConfigurator, loss_fn: Module, local_epochs: int, fine_tuning_epochs: int = 0, **kwargs: dict[str, Any])[source]

Bases: Client

class fluke.algorithms.fednova.FedNovaServer(model: torch.nn.Module, test_set: FastDataLoader, clients: Iterable[Client], weighted: bool = False, lr: float = 1.0, **kwargs: dict[str, Any])[source]

Bases: Server

class fluke.algorithms.fednova.FedNova(n_clients: int, data_splitter: DataSplitter, hyper_params: DDict | dict[str, Any], **kwargs: dict[str, Any])[source]

Bases: CentralizedFL