Skip to main content

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. The models employed in this framework were trained using a limited subset of the publicly accessible benchmark dataset MedMNIST v2 (link). We specifically selected four different medical image classes from this dataset, which include breast ultrasound (US), chest X-ray, retinal optical coherence tomography (OCT), and tissue microscopy. Each image within the dataset possesses dimensions of 28x28 pixels. For the framework's implementation, we utilized this custom dataset for both the side server and the client. Look into docs for more details.

Models Supported

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

  • LeNet-5
  • ResNet-18
  • ResNet-50
  • VGG-16
  • 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 (federa.team@gmail.com).

Metadata

Release files for federa 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for federa 1.0.0
File Size Uploaded
federa-1.0.0.tar.gz 32.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for federa 1.0.0
File Interpreter ABI Platform
federa-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 78.4 kB

Release files / federa-1.0.0.tar.gz

Download URL federa-1.0.0.tar.gz
Size 32.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9dd1f481bdb8ca4482c0ce5bcc8b849b35f53cb206aa010963d1497d7c3c5cfe
BLAKE2b-256 checksum
How to use checksums
c5a1b80b8c3e87378c5d1fcdf1669d8c2e576b2b71ae4143065f736b1e2d59b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / federa-1.0.0-py3-none-any.whl

Download URL federa-1.0.0-py3-none-any.whl
Size 45.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2c93e6105f8299b9871dc6d46d5fd20e7df51e41e339a9a26e1e159f56743131
BLAKE2b-256 checksum
How to use checksums
e07529379e686ee7f2c17795078045e4a72fad547a4dd582918fd1253b3ef189
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page