A Unified Benchmark Suite for Byzantine Attacks and Defenses in Federated Learning
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
blades-0.1.1234.tar.gz
(595.6 kB
view hashes)
Built Distribution
blades-0.1.1234-py3-none-any.whl
(45.5 kB
view hashes)
Close
Hashes for blades-0.1.1234-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14654cc3e2a4c4efd3f60d340e6d36e6d30352cf5fff7c6227ff1f76a246e0db |
|
MD5 | 7b71c3cb9c30338aef4d9bb4217ef7e4 |
|
BLAKE2b-256 | d6b2cf0d4331a5a4b886130b2729f074380c6718f66f8a554eb5a0e829dc150b |