nvflare.app_common.response_processors.global_weights_initializer module¶
- class GlobalWeightsInitializer(weights_prop_name: str = 'global_model', weight_method: str = 'first', client_name: str | None = None)[source]¶
Bases:
ResponseProcessor
Set global model weights based on specified weight setting method.
- Parameters:
weights_prop_name – name of the prop to be set into fl_ctx for the determined global weights
weight_method – the method to select final weights: one of “first”, “client”
client_name – the name of the client to be used as the weight provider
If weight_method is “first”, then use the weights reported from the first client; If weight_method is “client”, then only use the weights reported from the specified client.
- create_task_data(task_name: str, fl_ctx: FLContext) Shareable [source]¶
Create the data for the task to be sent to clients to collect their weights
- Parameters:
task_name – name of the task
fl_ctx – the FL context
Returns: task data
- final_process(fl_ctx: FLContext) bool [source]¶
Perform the final check on all the received weights from the clients.
- Parameters:
fl_ctx – FLContext
- Returns:
boolean indicating whether the final response processing is successful. If not successful, the control flow will exit.
- process_client_response(client: Client, task_name: str, response: Shareable, fl_ctx: FLContext) bool [source]¶
Process the weights submitted by a client.
- Parameters:
client – the client that submitted the response
task_name – name of the task
response – submitted data from the client
fl_ctx – FLContext
- Returns:
boolean to indicate if the client data is acceptable. If not acceptable, the control flow will exit.