FedBABU

Implementation of the Federated Averaging with Body Aggregation and Body Update [FedBABU22] algorithm.

References

[FedBABU22]

Jaehoon Oh, Sangmook Kim, Se-Young Yun. FedBABU: Towards Enhanced Representation for Federated Image Classification. In ICLR (2022). URL: https://arxiv.org/abs/2106.06042

Classes included in fluke.algorithms.fedbabu

Classes

class fluke.algorithms.fedbabu.FedBABUClient(index: int, model: EncoderHeadNet, train_set: FastDataLoader, test_set: FastDataLoader, optimizer_cfg: OptimizerConfigurator, loss_fn: Module, local_epochs: int, mode: str, fine_tuning_epochs: int, **kwargs: dict[str, Any])[source]

Bases: PFLClient

fine_tune() None[source]

Fine-tune the personalized model.

class fluke.algorithms.fedbabu.FedBABUServer(model: Module, test_set: FastDataLoader, clients: Iterable[PFLClient], weighted: bool = False)[source]

Bases: Server

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

Bases: PersonalizedFL