A Keras implementation of FederatedAvergaing [McMahan, Brendan, et al. 2017] and Lazily Aggregated Stochastic Gradients [Chen, Tianyi, Yuejiao Sun, and Wotao Yin. 2020]
This repository implements a simulated environment for comparing the performance of federated learning algorithms.
Currently supported:
- Vanilla SGD
- FederatedAveraging
- LASG (using LASG-WK2 condition)
Presentation slides: https://docs.google.com/presentation/d/12jUREcnDRW5Y1KSwwKtV8Z1VbaPSPOCtcdpUC38d3nY/edit?usp=sharing
Problem set (jupyter): problem_set.ipynb
Problem set (pdf): problem_set.pdf
Tensorflow 2.3 or greater
- Set desired hyperparameters for Vanilla SGD, FederatedAveraging, and LASG-WK2 within mnist.py or nietzsche.py
- Execute the script
python mnist.py
or
python nietzsche.py
- When the experiments complete, results will be saved to the current working directory.