5.1.1.8.1.11. FedEval.strategy.SecureAggregation

5.1.1.8.1.11.1. Module Contents

5.1.1.8.1.11.1.1. Classes

SAStatus

Generic enumeration.

SecureAggregation

the basic class of federated strategies.

class FedEval.strategy.SecureAggregation.SAStatus

Bases: enum.Enum

Generic enumeration.

Derive from this class to define new enumerations.

Init = 'Init'
DHKeyAgree = 'KeyAgree'
ApplyMask = 'ApplyMask'
RemoveMask = 'RemoveMask'
UpdateWeights = 'UpdateWeights'
class FedEval.strategy.SecureAggregation.SecureAggregation(**kwargs)

Bases: FedEval.strategy.FederatedStrategy.FedStrategy

the basic class of federated strategies.

host_select_train_clients(ready_clients)

select clients from the given ones for training purpose.

Parameters:

ready_clients (List[ClientId]) – the id list of clients that are ready for training.

Raises:

NotImplementedError – raised when called but not overriden.

Returns:

the id list of the selected clients.

Return type:

List[ClientId]

retrieve_host_download_info()
get the host download information,

e.g., model params/weights from its machine/deep learning model.

Raises:

NotImplementedError – raised when called but not overriden.

Returns:

the weights/params of its inner machine/deep learning model. TODO(fgh): the meaning of the str in the return type/

Return type:

ModelWeights

update_host_params(client_params, aggregate_weights)

update central server’s model params/weights with the aggregated params received from clients.

Parameters:
  • client_params (Iterable[ModelWeights]) – the weights form different clients, ordered like [params1, params2, …]

  • aggregate_weights (Iterable[Union[float, int]]) – aggregate weights of different clients, usually set according to the clients’ training sample size. E.g., A, B, and C have 10, 20, and 30 images, then the aggregate_weights can be [1/6, 1/3, 1/2] or [10, 20, 30].

Raises:

NotImplementedError – raised when called but not overriden.

set_host_params_to_local(host_params, current_round: int)

update the current local ML/DL model’s params with params received from the central server.

Parameters:
  • host_params (ModelWeights) – params received from the central server.

  • current_round (int) – the current round number

Raises:

NotImplementedError – raised when called but not overriden.

fit_on_local_data()

fit model with local data at client side.

Called by the selected clients.

Raises:

NotImplementedError – raised when called but not overriden.

Returns:

TODO(fgh)

retrieve_local_upload_info()

return the information aggregated from local model for uploading to the central server.

Called by the selected clients.

Raises:

NotImplementedError – raised when called but not overriden.

Returns:

the local model weights/params.

Return type:

ModelWeights