nvflare.app_opt.xgboost.data_loader module
- class XGBDataLoader[source]
Bases:
ABC- property client_id
- property data_split_mode
- initialize(client_id: str, rank: int, data_split_mode: DataSplitMode = DataSplitMode.ROW)[source]
Initialize the data loader with client-specific parameters.
This method is automatically called by the NVFlare framework at runtime for each client. You do not need to call this method manually. The framework will inject the appropriate client_id, rank, and data_split_mode for each client site.
- Parameters:
client_id – Unique identifier for the client (e.g., ‘site-1’, ‘site-2’). This is set automatically by the framework based on which client is running.
rank – Client’s rank in the federation (0-indexed). In vertical mode, rank 0 is typically the label owner.
data_split_mode – XGBoost data split mode (ROW for horizontal, COLUMN for vertical). This is set automatically based on the recipe configuration.
Note
Even though you create the same data loader instance for all clients in your job script, each client will receive different values for these parameters at runtime, enabling client-specific data loading.
- abstract load_data() Tuple[DMatrix, DMatrix][source]
Loads data for xgboost.
- Returns:
A tuple of train_data, validation_data
- property rank