|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
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:
Minimal server-side complexity for the end-user. Running a proper distributed FL deployment is hard. With FEDn Studio we seek to handle all server-side complexity and provide a UI, REST API and a Python interface to help users manage FL experiments and track metrics in real time.
Secure by design. FL clients do not need to open any ingress ports. Industry-standard communication protocols (gRPC) and token-based authentication and RBAC (Jason Web Tokens) provides flexible integration in a range of production environments.
ML-framework agnostic. A black-box client-side architecture lets data scientists interface with their framework of choice.
Cloud native. By following cloud native design principles, we ensure a wide range of deployment options including private cloud and on-premise infrastructure.
Scalability and resilience. Multiple aggregation servers (combiners) can share the workload. FEDn seamlessly recover from failures in all critical components and manages intermittent client-connections.
Developer and DevOps friendly. Extensive event logging and distributed tracing enables developers to monitor the sytem in real-time, simplifying troubleshooting and auditing. Extensions and integrations are facilitated by a flexible plug-in architecture.
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.
Federated learning:
From development to FL in production:
Available client APIs:
FEDn C++ client <https://github.com/scaleoutsystems/fedn-cpp-client>
__)FEDn Kotlin client <https://github.com/scaleoutsystems/fedn-android-client>
__)Get started with FEDn in two steps:
FEDn Studio account <https://fedn.scaleoutsystems.com/signup>
__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>
__.
More details about the architecture, deployment, and how to develop your own application and framework extensions are found in the documentation:
Documentation <https://fedn.readthedocs.io>
__Our example projects demonstrate different use case scenarios of FEDn and its integration with popular machine learning frameworks like PyTorch and TensorFlow.
FEDn + PyTorch <https://github.com/scaleoutsystems/fedn/tree/master/examples/mnist-pytorch>
__FEDn + Tensforflow/Keras <https://github.com/scaleoutsystems/fedn/tree/master/examples/mnist-keras>
__FEDn + MONAI <https://github.com/scaleoutsystems/fedn/tree/master/examples/monai-2D-mednist>
__FEDn + Hugging Face <https://github.com/scaleoutsystems/fedn/tree/master/examples/huggingface>
__FEDn + Flower <https://github.com/scaleoutsystems/fedn/tree/master/examples/flower-client>
__FEDN + Self-supervised learning <https://github.com/scaleoutsystems/fedn/tree/master/examples/FedSimSiam>
__Several hosting options are available to suit different project settings.
Public cloud (multi-tenant) <https://fedn.scaleoutsystems.com>
__: Managed multi-tenant deployment in public cloud. Contact the Scaleout team for information.
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>
__.
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>
__.
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} }
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>
__.