scaleoutsystems / fedn

FEDn: An enterprise-ready open source federated learning framework. This repository contains the Python framework, CLI and API.
https://docs.scaleoutsystems.com
Apache License 2.0
144 stars 34 forks source link
edge-ai edge-ml federated-learning federated-machine-learning fedml fleet-learning keras-tensorflow pytorch scikit-learn tensorflow

|pic1| |pic2| |pic3|

.. |pic1| image:: https://github.com/scaleoutsystems/fedn/actions/workflows/integration-tests.yaml/badge.svg :target: https://github.com/scaleoutsystems/fedn/actions/workflows/integration-tests.yaml

.. |pic2| image:: https://badgen.net/badge/icon/discord?icon=discord&label :target: https://discord.gg/KMg4VwszAd

.. |pic3| image:: https://readthedocs.org/projects/fedn/badge/?version=latest&style=flat :target: https://fedn.readthedocs.io

FEDn: An enterprise-ready federated learning framework

Our goal is to provide a federated learning framework that is both secure, scalable and easy-to-use. We believe that that minimal code change should be needed to progress from early proof-of-concepts to production. This is reflected in our core design:

FEDn is free forever for academic and personal use / small projects. Sign up for a FEDn Studio account <https://fedn.scaleoutsystems.com/signup> and take the Quickstart tutorial <https://fedn.readthedocs.io/en/stable/quickstart.html> to get started with FEDn.

Features

Federated learning:

From development to FL in production:

Available client APIs:

Getting started

Get started with FEDn in two steps:

  1. Register for a FEDn Studio account <https://fedn.scaleoutsystems.com/signup>__
  2. Take the Quickstart tutorial <https://fedn.readthedocs.io/en/stable/quickstart.html>__

Use of our multi-tenant, managed deployment of FEDn Studio (SaaS) is free forever for academic research and personal development/testing purposes. For users and teams requiring additional resources, more storage and cpu, dedicated support, and other hosting options (private cloud, on-premise), explore our plans <https://www.scaleoutsystems.com/start#pricing>__.

Documentation

More details about the architecture, deployment, and how to develop your own application and framework extensions are found in the documentation:

FEDn Project Examples

Our example projects demonstrate different use case scenarios of FEDn and its integration with popular machine learning frameworks like PyTorch and TensorFlow.

FEDn Studio Deployment options

Several hosting options are available to suit different project settings.

Contact the Scaleout team for information.

Support

Community support is available in our Discord server <https://discord.gg/KMg4VwszAd>__.

Options are available for Dedicated/custom support <https://www.scaleoutsystems.com/start#pricing>__.

Making contributions

All pull requests will be considered and are much appreciated. For more details please refer to our contribution guidelines <https://github.com/scaleoutsystems/fedn/blob/master/CONTRIBUTING.md>__.

Citation

If you use FEDn in your research, please cite:

::

@article{ekmefjord2021scalable, title={Scalable federated machine learning with FEDn}, author={Ekmefjord, Morgan and Ait-Mlouk, Addi and Alawadi, Sadi and {\AA}kesson, Mattias and Stoyanova, Desislava and Spjuth, Ola and Toor, Salman and Hellander, Andreas}, journal={arXiv preprint arXiv:2103.00148}, year={2021} }

License

FEDn is licensed under Apache-2.0 (see LICENSE <LICENSE>__ file for full information).

Use of FEDn Studio is subject to the Terms of Use <https://www.scaleoutsystems.com/terms>__.