.. .. raw:: html
.. <div style="text-align: center;">
.. container:: badges
.. image:: https://img.shields.io/badge/arXiv-2206.05359-red?logo=arxiv&style=flat-square&link=https%3A%2F%2Farxiv.org%2Fpdf%2F2206.05359.pdf
:alt: Static Badge
:target: https://arxiv.org/pdf/2206.05359.pdf
.. image:: https://img.shields.io/github/last-commit/lishenghui/blades/master?logo=Github
:alt: GitHub last commit (branch)
:target: https://github.com/lishenghui/blades
.. image:: https://img.shields.io/github/actions/workflow/status/lishenghui/blades/.github%2Fworkflows%2Funit-tests.yml?logo=Pytest&logoColor=hsl&label=Unit%20Testing
:alt: GitHub Workflow Status (with event)
.. image:: https://img.shields.io/badge/Pytorch-2.0-brightgreen?logo=pytorch&logoColor=red
:alt: Static Badge
:target: https://pytorch.org/get-started/pytorch-2.0/
.. image:: https://img.shields.io/badge/Ray-2.8-brightgreen?logo=ray&logoColor=blue
:alt: Static Badge
:target: https://docs.ray.io/en/releases-2.8.0/
.. image:: https://readthedocs.org/projects/blades/badge/?version=latest
:target: https://blades.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://img.shields.io/github/license/lishenghui/blades?logo=apache&logoColor=red
:alt: GitHub
:target: https://github.com/lishenghui/blades/blob/master/LICENSE
.. .. raw:: html
.. <p align=center>
.. <img src="https://github.com/lishenghui/blades/raw/master/docs/source/images/arch.png" width="1000" alt="Blades Logo">
.. </p>
.. image:: https://github.com/lishenghui/blades/raw/master/docs/source/images/arch.png
Installation
==================================================
.. code-block:: bash
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.
.. code-block:: bash
cd blades/blades
python train.py file ./tuned_examples/fedsgd_cnn_fashion_mnist.yaml
**Blades** internally calls `ray.tune <https://docs.ray.io/en/latest/tune/tutorials/tune-output.html>`_; therefore, the experimental results are output to its default directory: ``~/ray_results``.
Experiment Results
==================================================
.. image:: https://github.com/lishenghui/blades/raw/master/docs/source/images/fashion_mnist.png
.. image:: https://github.com/lishenghui/blades/raw/master/docs/source/images/cifar10.png
Cluster Deployment
===================
To run **blades** on a cluster, you only need to deploy ``Ray cluster`` according to the `official guide <https://docs.ray.io/en/latest/cluster/user-guide.html>`_.
Built-in Implementations
==================================================
In detail, the following strategies are currently implemented:
Data Partitioners:
==================================================
Dirichlet Partitioner
----------------------
.. image:: https://github.com/lishenghui/blades/raw/master/docs/source/images/dirichlet_partition.png
Sharding Partitioner
----------------------
.. image:: https://github.com/lishenghui/blades/raw/master/docs/source/images/shard_partition.png
Citation
=========
Please cite our `paper <https://arxiv.org/abs/2206.05359>`_ (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}
}
Raw data
{
"_id": null,
"home_page": "https://fllib.github.io",
"name": "fedlib",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<4.0",
"maintainer_email": "",
"keywords": "deep-learning,pytorch,federated-learning",
"author": "Shenghui Li",
"author_email": "shenghui.li@it.uu.se",
"download_url": "https://files.pythonhosted.org/packages/58/3a/25008ac1f8006cf07025b14067304c87e41cf54af581e53c1d34e2c0ffe2/fedlib-0.0.12345.tar.gz",
"platform": null,
"description": "\n.. .. raw:: html\n\n.. <div style=\"text-align: center;\">\n\n.. container:: badges\n\n .. image:: https://img.shields.io/badge/arXiv-2206.05359-red?logo=arxiv&style=flat-square&link=https%3A%2F%2Farxiv.org%2Fpdf%2F2206.05359.pdf\n :alt: Static Badge\n :target: https://arxiv.org/pdf/2206.05359.pdf\n\n .. image:: https://img.shields.io/github/last-commit/lishenghui/blades/master?logo=Github\n :alt: GitHub last commit (branch)\n :target: https://github.com/lishenghui/blades\n\n .. image:: https://img.shields.io/github/actions/workflow/status/lishenghui/blades/.github%2Fworkflows%2Funit-tests.yml?logo=Pytest&logoColor=hsl&label=Unit%20Testing\n :alt: GitHub Workflow Status (with event)\n\n .. image:: https://img.shields.io/badge/Pytorch-2.0-brightgreen?logo=pytorch&logoColor=red\n :alt: Static Badge\n :target: https://pytorch.org/get-started/pytorch-2.0/\n\n .. image:: https://img.shields.io/badge/Ray-2.8-brightgreen?logo=ray&logoColor=blue\n :alt: Static Badge\n :target: https://docs.ray.io/en/releases-2.8.0/\n\n .. image:: https://readthedocs.org/projects/blades/badge/?version=latest\n :target: https://blades.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n .. image:: https://img.shields.io/github/license/lishenghui/blades?logo=apache&logoColor=red\n :alt: GitHub\n :target: https://github.com/lishenghui/blades/blob/master/LICENSE\n\n\n.. .. raw:: html\n\n.. <p align=center>\n.. <img src=\"https://github.com/lishenghui/blades/raw/master/docs/source/images/arch.png\" width=\"1000\" alt=\"Blades Logo\">\n.. </p>\n\n.. image:: https://github.com/lishenghui/blades/raw/master/docs/source/images/arch.png\n\n\n\nInstallation\n==================================================\n\n.. code-block:: bash\n\n git clone https://github.com/lishenghui/blades\n cd blades\n pip install -v -e .\n # \"-v\" means verbose, or more output\n # \"-e\" means installing a project in editable mode,\n # thus any local modifications made to the code will take effect without reinstallation.\n\n\n.. code-block:: bash\n\n cd blades/blades\n python train.py file ./tuned_examples/fedsgd_cnn_fashion_mnist.yaml\n\n\n**Blades** internally calls `ray.tune <https://docs.ray.io/en/latest/tune/tutorials/tune-output.html>`_; therefore, the experimental results are output to its default directory: ``~/ray_results``.\n\nExperiment Results\n==================================================\n\n.. image:: https://github.com/lishenghui/blades/raw/master/docs/source/images/fashion_mnist.png\n\n.. image:: https://github.com/lishenghui/blades/raw/master/docs/source/images/cifar10.png\n\n\n\n\nCluster Deployment\n===================\n\nTo run **blades** on a cluster, you only need to deploy ``Ray cluster`` according to the `official guide <https://docs.ray.io/en/latest/cluster/user-guide.html>`_.\n\n\nBuilt-in Implementations\n==================================================\nIn detail, the following strategies are currently implemented:\n\n\n\nData Partitioners:\n==================================================\n\nDirichlet Partitioner\n----------------------\n\n.. image:: https://github.com/lishenghui/blades/raw/master/docs/source/images/dirichlet_partition.png\n\nSharding Partitioner\n----------------------\n\n.. image:: https://github.com/lishenghui/blades/raw/master/docs/source/images/shard_partition.png\n\n\nCitation\n=========\n\nPlease cite our `paper <https://arxiv.org/abs/2206.05359>`_ (and the respective papers of the methods used) if you use this code in your own work:\n\n::\n\n @article{li2023blades,\n title={Blades: A Unified Benchmark Suite for Byzantine Attacks and Defenses in Federated Learning},\n author= {Li, Shenghui and Ju, Li and Zhang, Tianru and Ngai, Edith and Voigt, Thiemo},\n journal={arXiv preprint arXiv:2206.05359},\n year={2023}\n }\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A Scalable Federated Learning Library",
"version": "0.0.12345",
"project_urls": {
"Documentation": "https://fllib.readthedocs.io",
"Homepage": "https://fllib.github.io",
"Repository": "https://github.com/fllib/fllib"
},
"split_keywords": [
"deep-learning",
"pytorch",
"federated-learning"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2e647d78d651b8967e504968132e715b99cc4b021374646fe1b78cca3a41762a",
"md5": "3c83d20b9652eb1e0795b3953df0bada",
"sha256": "594b67a466614d9da509659797d952e406a65b1b5898b46653274e6a5f4d78ee"
},
"downloads": -1,
"filename": "fedlib-0.0.12345-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3c83d20b9652eb1e0795b3953df0bada",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4.0",
"size": 16819,
"upload_time": "2023-11-23T17:14:03",
"upload_time_iso_8601": "2023-11-23T17:14:03.655653Z",
"url": "https://files.pythonhosted.org/packages/2e/64/7d78d651b8967e504968132e715b99cc4b021374646fe1b78cca3a41762a/fedlib-0.0.12345-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "583a25008ac1f8006cf07025b14067304c87e41cf54af581e53c1d34e2c0ffe2",
"md5": "5a992ffaffdb8bd3fb12bc9bf0914b84",
"sha256": "daa850ec3a03c3c9cedffb20b55dccfeea65e9806b68453cf754d2867a213639"
},
"downloads": -1,
"filename": "fedlib-0.0.12345.tar.gz",
"has_sig": false,
"md5_digest": "5a992ffaffdb8bd3fb12bc9bf0914b84",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4.0",
"size": 14329,
"upload_time": "2023-11-23T17:14:05",
"upload_time_iso_8601": "2023-11-23T17:14:05.476796Z",
"url": "https://files.pythonhosted.org/packages/58/3a/25008ac1f8006cf07025b14067304c87e41cf54af581e53c1d34e2c0ffe2/fedlib-0.0.12345.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-23 17:14:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fllib",
"github_project": "fllib",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "fedlib"
}