golf_federated.server.process.config.device package

golf_federated.server.process.config.device.base module

class golf_federated.server.process.config.device.base.BaseServer(server_name: str, client_pool: List = [])[source]

Bases: object

Server object class, the class function supports the main operation of the Server.

get_task(task_name: str)golf_federated.server.process.config.task.base.BaseTask[source]

Get the task object based on the task name.

Args:

task_name (str): Specific Task name.

Returns:

golf_federated.server.process.config.task.base.BaseTask: Specific Task object.

receive_parameter(client_name: str, client_model: numpy.ndarray, client_aggregation_field: dict, task: golf_federated.server.process.config.task.base.BaseTask) → None[source]

Receive parameters uploaded by clients.

Args:

client_name (str): Client name of upload parameters. client_model (numpy.ndarray): Uploaded model weight. client_aggregation_field (dict): Uploaded fields for aggregation and corresponding values. task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object.

abstract start_task(*args) → None[source]

Abstract method for starting Task.

Args:

*args: Variable number of parameters, see instantiation methods for details.

task_aggregation_and_evaluation(task: golf_federated.server.process.config.task.base.BaseTask, aggregation_parameter: queue.Queue) → None[source]

Model aggregation and evaluation.

Args:

task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object. aggregation_parameter (queue.Queue): Queue for storing aggregated parameters.

abstract task_stop(task: golf_federated.server.process.config.task.base.BaseTask) → None[source]

Abstract method for stopping Task.

Args:

task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object.

abstract task_update_model(task: golf_federated.server.process.config.task.base.BaseTask) → None[source]

Abstract method for model update.

Args:

task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object.

golf_federated.server.process.config.device.multidevice module

class golf_federated.server.process.config.device.multidevice.MultiDeviceServer(server_name: str, client_pool: List = [], api_host: str = '127.0.0.1', api_port: str = '7788', sse_host: str = '127.0.0.1', sse_port: str = '6379', sse_db: int = 6)[source]

Bases: golf_federated.server.process.config.device.base.BaseServer

Multi-Device Server object class, inheriting from Server class.

client_register(client_name: str) → None[source]

Client register.

Args:

client_name (str): Name of the client to register.

start_server() → None[source]

Start server.

start_task(task: golf_federated.server.process.config.task.base.BaseTask) → None[source]

Start Task.

Args:

task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object.

task_stop(task: golf_federated.server.process.config.task.base.BaseTask) → None[source]

Stop task.

Args:

task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object.

task_update_model(task: golf_federated.server.process.config.task.base.BaseTask) → None[source]

Update model.

Args:

task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object.

golf_federated.server.process.config.device.standalone module

class golf_federated.server.process.config.device.standalone.StandAloneCedarServer(server_name: str, evaluation_client: List, client_pool: List = [])[source]

Bases: golf_federated.server.process.config.device.base.BaseServer

Stand-Alone Cedar Server object class, inheriting from Server class.

start_task(task: golf_federated.server.process.config.task.base.BaseTask, client_objects: List[golf_federated.client.process.config.device.base.BaseClient]) → None[source]

Start task. In stand-alone cases, the Client objects are called directly.

Args:

task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object. client_objects (List[golf_federated.client.process.config.device.base.BaseClient]): Client objects.

task_stop(task: golf_federated.server.process.config.task.base.BaseTask) → None[source]

Stop task.

Args:

task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object.

task_update_model(task: golf_federated.server.process.config.task.base.BaseTask) → None[source]

Update model.

Args:

task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object.

class golf_federated.server.process.config.device.standalone.StandAloneServer(server_name: str, client_pool: List = [])[source]

Bases: golf_federated.server.process.config.device.base.BaseServer

Stand-Alone Server object class, inheriting from Server class.

start_task(task: golf_federated.server.process.config.task.base.BaseTask, client_objects: List[golf_federated.client.process.config.device.base.BaseClient]) → None[source]

Start task. In stand-alone cases, the Client objects are called directly.

Args:

task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object. client_objects (List[golf_federated.client.process.config.device.base.BaseClient]): Client objects.

task_stop(task: golf_federated.server.process.config.task.base.BaseTask) → None[source]

Stop task.

Args:

task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object.

task_update_model(task: golf_federated.server.process.config.task.base.BaseTask) → None[source]

Update model.

Args:

task (golf_federated.server.process.config.task.base.BaseTask): Corresponding Task object.