armlet.FL_pipeline.data_selection.methods package#

Submodules#

Module contents#

class armlet.FL_pipeline.data_selection.methods.DataSelectionClientMethod(train_set: FastDataLoader)#

Bases: ABC

after_fit(model, device, loss_fn, sample_training_time_per_epoch: float)#
pre_selection(round, model, device, loss_fn)#
abstractmethod select_samples(round: int, num_epochs: int) FastDataLoader#
class armlet.FL_pipeline.data_selection.methods.DataSelectionServerMethod#

Bases: ABC

after_aggregation(server_model: Module, participants: Sequence[Client], clients_model: Iterable[Module])#
after_clients_local_updates(participants: Sequence[Client], round: int)#
before_clients_local_updates(participants: Sequence[Client], round: int)#
before_fit(clients: Sequence[Client])#
compute_other_metrics() dict#
select_clients(clients: Sequence[Client], eligible_perc: float) Sequence[Client]#
setup_hooks(model)#