fl_server_ai.trainer.events.daisy_chain_round_finished ¶
Classes:
| Name | Description |
|---|---|
DaisyChainRoundFinished | Federated daisy chain (FedDC) round finished event. |
Classes¶
DaisyChainRoundFinished ¶
Bases: TrainingRoundFinished
flowchart TD
fl_server_ai.trainer.events.daisy_chain_round_finished.DaisyChainRoundFinished[DaisyChainRoundFinished]
fl_server_ai.trainer.events.training_round_finished.TrainingRoundFinished[TrainingRoundFinished]
fl_server_ai.trainer.events.base.ModelTrainerEvent[ModelTrainerEvent]
fl_server_ai.trainer.events.training_round_finished.TrainingRoundFinished --> fl_server_ai.trainer.events.daisy_chain_round_finished.DaisyChainRoundFinished
fl_server_ai.trainer.events.base.ModelTrainerEvent --> fl_server_ai.trainer.events.training_round_finished.TrainingRoundFinished
click fl_server_ai.trainer.events.daisy_chain_round_finished.DaisyChainRoundFinished href "" "fl_server_ai.trainer.events.daisy_chain_round_finished.DaisyChainRoundFinished"
click fl_server_ai.trainer.events.training_round_finished.TrainingRoundFinished href "" "fl_server_ai.trainer.events.training_round_finished.TrainingRoundFinished"
click fl_server_ai.trainer.events.base.ModelTrainerEvent href "" "fl_server_ai.trainer.events.base.ModelTrainerEvent"
Federated daisy chain (FedDC) round finished event.
Methods:
| Name | Description |
|---|---|
__init__ | |
handle | Handle the FedDC event. |
Source code in fl_server_ai/trainer/events/daisy_chain_round_finished.py
Functions¶
__init__ ¶
__init__(trainer: ModelTrainer)
handle ¶
Handle the FedDC event.
(a) local client training is finished -> do the aggregation
(b) local client training is not finished yet (but we reach a daisy chaining period) -> no aggregation, just send the permutated client models back for further training - also see FedDCModelTrainer.handle()