fedbox.optimization
This submodule defines the three optimization algorithms that can be used in the simulations. The structure of the code is the same for each algorithm, and we always have two main components.
- A Coordinator instance which represents the central server broadcasting the model at the beginning of every round and performing the aggregation of the received updates before the beginning of the next.
- A Agent instance which performs local optimization and evaluation on its data samples with a specific federated framework.
For each algorithmic framework, we extend from the base classes Coordinator and Agent and we specialize them accordingly to the specific procedure.
1''' 2This submodule defines the three optimization algorithms that can 3be used in the simulations. The structure of the code is the same 4for each algorithm, and we always have two main components. 5<ol> 6 <li>A <b>Coordinator</b> instance which represents the central server 7 broadcasting the model at the beginning of every round and performing the aggregation of 8 the received updates before the beginning of the next.</li> 9 <li>A <b>Agent</b> instance which performs local optimization and evaluation on its data samples 10 with a specific federated framework.</li> 11</ol> 12For each algorithmic framework, we extend from the base classes <b>Coordinator</b> and <b>Agent</b> and 13we specialize them accordingly to the specific procedure. 14'''