Federated learning (FL), proposed by Google at the very beginning, is recently a burgeoning research area of machine learning, which aims to protect individual data privacy in distributed machine learning process, especially in finance, smart healthcare and edge computing. Different from traditional data-centered distributed machine learning, participants in FL setting utilize localized data to train local model, then leverages specific strategies with other participants to acquire the final model collaboratively, avoiding direct data sharing behavior.
To relieve the burden of researchers in implementing FL algorithms and emancipate FL scientists from repetitive implementation of basic FL setting, we introduce highly customizable framework FedLab in this work. FedLab provides the necessary modules for FL simulation, including communication, compression, model optimization, data partition and other functional modules. Users can build FL simulation environment with custom modules like playing with LEGO bricks. For better understanding and easy usage, FL algorithm benchmark implemented in FedLab are also presented.
- Documentation website
- Overview of FedLab
- Installation & Setup
- Examples
- Contribute Guideline
- API Reference
-
Please read our tutorials in jupyter notebook.
-
Run our quick start examples of different scenarios with partitioned MNIST dataset.
# example of standalone
$ cd ./examples/standalone/
$ bash python standalone.py --total_client 100 --com_round 3 --sample_ratio 0.1 --batch_size 100 --epochs 5 --lr 0.02
We provide the reproduction of baseline federated algorthms for users in this repo.
TODO
TODO
Please cite FedLab in your publications if it helps your research:
@article{smile2021fedlab,
title={FedLab: A Flexible Federated Learning Framework},
author={Dun Zeng, Siqi Liang, Xiangjing Hu, Hui Wang and Zenglin Xu},
journal={arXiv preprint arXiv:2107.11621},
year={2021}
}
Project Investigator: Prof. Zenglin Xu ([email protected]).
For technical issues reated to FedLab development, please contact our development team through Github issues or email:
- Dun Zeng: [email protected]
- Siqi Liang: [email protected]