Skip to main content

FedERA is a highly dynamic and customizable framework that can accommodate many use cases with flexibility by implementing several functionalities over different federated learning algorithms, and essentially creating a plug-and-play architecture to accommodate different use cases.

Project description

Federated Learning Framework

PyPI - Python Version Documentation Status License Ubuntu CI status Windows CI status OpenSSF Best Practices Downloads

FedERA is a highly dynamic and customizable framework that can accommodate many use cases with flexibility by implementing several functionalities over different federated learning algorithms, and essentially creating a plug-and-play architecture to accommodate different use cases.

Supported Devices

FedERA has been extensively tested on and works with the following devices:

  • Intel CPUs
  • Nvidia GPUs
  • Nvidia Jetson
  • Raspberry Pi
  • Intel NUC

With FedERA, it is possible to operate the server and clients on separate devices or on a single device through various means, such as utilizing different terminals or implementing multiprocessing.

Installation

  • Install the stable version via PyPi:
$ pip install federa

For more installation options check out the online documentation.

Documentation

Website documentation has been made availbale for FedERA. Please visit FedERA Documentation for more details.

  1. Overview
  2. Installation
  3. Tutorials
  4. Contribution
  5. API Reference

Federated Learning Algorithms

Following federated learning algorithms are implemented in this framework:

Method Paper Publication
FedAvg Communication-Efficient Learning of Deep Networks from Decentralized Data AISTATS'2017
FedDyn Federated Learning Based on Dynamic Regularization ICLR' 2021
Scaffold SCAFFOLD: Stochastic Controlled Averaging for Federated Learning ICML'2020
Personalized FedAvg Improving Federated Learning Personalization via Model Agnostic Meta Learning Pre-print
FedAdagrad Adaptive Federated Optimization ICML'2020
FedAdam Adaptive Federated Optimization ICML'2020
FedYogi Adaptive Federated Optimization ICML'2020
Mime Mime: Mimicking Centralized Stochastic Algorithms in Federated Learning ICML'2020
Mimelite Mime: Mimicking Centralized Stochastic Algorithms in Federated Learning ICML'2020

Datasets Supported

Dataset Training samples Test samples Classes
MNIST 60,000 10,000 10
FashionMnist 60,000 10,000 10
CIFAR-10 50,000 10,000 10
CIFAR-100 50,000 10,000 100

Custom Dataset Support

We also provide a simple way to add your own dataset to the framework. Look into docs for more details.

Models Supported

FedERA has support for the following Deep Learning models, which are loaded from torchvision.models:

  • LeNet
  • ResNet18
  • ResNet50
  • VGG16
  • AlexNet

Custom Model Support

We also provide a simple way to add your own models to the framework. Look into docs for more details.

Contact

For technical issues related to FedERA development, please contact our development team through Github issues or email.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

federa-0.0.4.tar.gz (30.6 kB view details)

Uploaded Source

Built Distribution

federa-0.0.4-py3-none-any.whl (43.3 kB view details)

Uploaded Python 3

File details

Details for the file federa-0.0.4.tar.gz.

File metadata

  • Download URL: federa-0.0.4.tar.gz
  • Upload date:
  • Size: 30.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.8

File hashes

Hashes for federa-0.0.4.tar.gz
Algorithm Hash digest
SHA256 612f999ce3319b08616b83c92fe2edd61fdb93e1b4d25f719cfca0db006e8a34
MD5 5b7d2ad98f11032a114b0fd5a1de62ad
BLAKE2b-256 bd1d1cf86508161873d7a39eaca04986d1eb84025b15c7a92c0153aa41a7c94b

See more details on using hashes here.

File details

Details for the file federa-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: federa-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 43.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.8

File hashes

Hashes for federa-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5887896a50d49afa59ad43e20d2b3e82ddbf683f3acb93a81738006c2bba4e62
MD5 5ae85d46436f43fbf6cacd3fcd217047
BLAKE2b-256 d88ca53e0748935d69679a5caa0de5779d8af682e72d43daed5147292078c32c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page