A Scalable Federated Learning Library
Project description
Installation
git clone https://github.com/lishenghui/blades
cd blades
pip install -v -e .
# "-v" means verbose, or more output
# "-e" means installing a project in editable mode,
# thus any local modifications made to the code will take effect without reinstallation.
cd blades/blades
python train.py file ./tuned_examples/fedsgd_cnn_fashion_mnist.yaml
Blades internally calls ray.tune; therefore, the experimental results are output to its default directory: ~/ray_results.
Experiment Results
Cluster Deployment
To run blades on a cluster, you only need to deploy Ray cluster according to the official guide.
Built-in Implementations
In detail, the following strategies are currently implemented:
Data Partitioners:
Dirichlet Partitioner
Citation
Please cite our paper (and the respective papers of the methods used) if you use this code in your own work:
@article{li2023blades, title={Blades: A Unified Benchmark Suite for Byzantine Attacks and Defenses in Federated Learning}, author= {Li, Shenghui and Ju, Li and Zhang, Tianru and Ngai, Edith and Voigt, Thiemo}, journal={arXiv preprint arXiv:2206.05359}, year={2023} }
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fedlib-0.0.12345.tar.gz
(14.3 kB
view hashes)
Built Distribution
fedlib-0.0.12345-py3-none-any.whl
(16.8 kB
view hashes)
Close
Hashes for fedlib-0.0.12345-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 594b67a466614d9da509659797d952e406a65b1b5898b46653274e6a5f4d78ee |
|
MD5 | 3c83d20b9652eb1e0795b3953df0bada |
|
BLAKE2b-256 | 2e647d78d651b8967e504968132e715b99cc4b021374646fe1b78cca3a41762a |