PyTorch implementations of federated learning algorithms for research
Top 66.9% on SourcePulse
This repository provides a comprehensive PyTorch implementation of various Federated Learning (FL) algorithms, designed to facilitate research and experimentation. It supports a wide range of datasets, models, and statistical heterogeneity simulations, making it a valuable tool for researchers in distributed machine learning.
How It Works
The framework offers a flexible architecture for implementing FL algorithms. It supports automatic downloading and preprocessing of datasets from torchvision
, torchtext
, and the LEAF benchmark, simplifying experimental setup. The implementation allows for various statistical heterogeneity simulations, including IID, unbalanced, and Dirichlet-based non-IID distributions, crucial for realistic FL scenarios. A diverse selection of models, from simple logistic regression to complex CNNs and Transformers, are integrated, along with popular FL algorithms like FedAvg, FedProx, and FedOpt variants.
Quick Start & Requirements
requirements.txt
. A dedicated environment (conda or Docker) is recommended.conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 torchtext==0.13.0 cudatoolkit=11.6 -c pytorch -c conda-forge
.python3 main.py -h
and the commands
directory.Highlighted Details
Maintenance & Community
Feedback is encouraged via the GitHub issue tab.
Licensing & Compatibility
The repository does not explicitly state a license in the provided README. Users should verify licensing for commercial or closed-source integration.
Limitations & Caveats
The project is geared towards research and may require further adaptation for production environments. Some FL algorithms and lightweight models for cross-device settings are listed as future work.
1 year ago
Inactive