blazefl.core.SerialClientTrainer#

class blazefl.core.SerialClientTrainer[source]#

Bases: ABC, Generic[UplinkPackage, DownlinkPackage]

Abstract base class for serial client training in federated learning.

This class defines the interface for training clients in a serial manner, where each client is processed one after the other.

Raises:

NotImplementedError – If the methods are not implemented in a subclass.

__init__()#

Methods

__init__()

local_process(payload, cid_list)

Process the downlink payload from the server for a list of client IDs.

uplink_package()

Prepare the data package to be sent from the client to the server.

abstract local_process(payload: DownlinkPackage, cid_list: list[int]) None[source]#

Process the downlink payload from the server for a list of client IDs.

Parameters:
  • payload (DownlinkPackage) – The data package received from the server.

  • cid_list (list[int]) – A list of client IDs to process.

Returns:

None

Prepare the data package to be sent from the client to the server.

Returns:

A list of data packages prepared for uplink transmission.

Return type:

list[UplinkPackage]