Server#

class Server(*, client_manager: ClientManager, strategy: Strategy | None = None)[source]#

Bases: object

Flower server.

Methods

client_manager()

Return ClientManager.

disconnect_all_clients(timeout)

Send shutdown signal to all clients.

evaluate_round(server_round, timeout)

Validate current global model on a number of clients.

fit(num_rounds, timeout)

Run federated averaging for a number of rounds.

fit_round(server_round, timeout)

Perform a single round of federated averaging.

set_max_workers(max_workers)

Set the max_workers used by ThreadPoolExecutor.

set_strategy(strategy)

Replace server strategy.

client_manager() ClientManager[source]#

Return ClientManager.

disconnect_all_clients(timeout: float | None) None[source]#

Send shutdown signal to all clients.

evaluate_round(server_round: int, timeout: float | None) Tuple[float | None, Dict[str, bool | bytes | float | int | str], Tuple[List[Tuple[ClientProxy, EvaluateRes]], List[Tuple[ClientProxy, EvaluateRes] | BaseException]]] | None[source]#

Validate current global model on a number of clients.

fit(num_rounds: int, timeout: float | None) History[source]#

Run federated averaging for a number of rounds.

fit_round(server_round: int, timeout: float | None) Tuple[Parameters | None, Dict[str, bool | bytes | float | int | str], Tuple[List[Tuple[ClientProxy, FitRes]], List[Tuple[ClientProxy, FitRes] | BaseException]]] | None[source]#

Perform a single round of federated averaging.

set_max_workers(max_workers: int | None) None[source]#

Set the max_workers used by ThreadPoolExecutor.

set_strategy(strategy: Strategy) None[source]#

Replace server strategy.