nvflare.app_opt.xgboost.histogram_based.controller module¶
- class XGBFedController(train_timeout: int = 300, port: int | None = None)[source]¶
Bases:
Controller
Federated XGBoost training controller for histogram-base collaboration.
It starts the XGBoost federated server and kicks off all the XGBoost job on each NVFlare client. The configuration is generic for this component and no modification is needed for most training jobs.
- Parameters:
train_timeout (int, optional) – Time to wait for clients to do local training in seconds.
port (int, optional) – the port to open XGBoost FL server
- Raises:
TypeError – when any of input arguments does not have correct type
ValueError – when any of input arguments is out of range
- control_flow(abort_signal: Signal, fl_ctx: FLContext)[source]¶
This is the control logic for the RUN.
NOTE: this is running in a separate thread, and its life is the duration of the RUN.
- Parameters:
fl_ctx – the FL context
abort_signal – the abort signal. If triggered, this method stops waiting and returns to the caller.
- process_result_of_unknown_task(client: Client, task_name, client_task_id, result: Shareable, fl_ctx: FLContext)[source]¶
Process result when no task is found for it.
This is called when a result submission is received from a client, but no standing task can be found for it (from the task queue)
This could happen when: - the client’s submission is too late - the task is already completed - the Controller lost the task, e.g. the Server is restarted
- Parameters:
client – the client that the result comes from
task_name – the name of the task
client_task_id – ID of the task
result – the result from the client
fl_ctx – the FL context that comes with the client’s submission
- start_controller(fl_ctx: FLContext)[source]¶
Starts the controller.
This method is called at the beginning of the RUN.
- Parameters:
fl_ctx – the FL context. You can use this context to access services provided by the
example (framework. For) –
your (you can get Command Register from it and register) –
modules. (admin command) –
- stop_controller(fl_ctx: FLContext)[source]¶
Stops the controller.
This method is called right before the RUN is ended.
- Parameters:
fl_ctx – the FL context. You can use this context to access services provided by the
example (framework. For) –
your (you can get Command Register from it and unregister) –
modules. (admin command) –