openfl  by securefederatedai

Open framework for federated learning

created 4 years ago
798 stars

Top 45.0% on sourcepulse

GitHubView on GitHub
Project Summary

OpenFL is a Python framework for federated learning, enabling collaborative model training on sensitive, distributed datasets without data sharing. It targets researchers and organizations needing to leverage private data for ML model development, offering enhanced privacy and reduced data movement compared to centralized approaches.

How It Works

OpenFL supports two primary setup APIs: TaskRunner for short-lived components with mTLS and TEE support, and Workflow for more flexible, horizontal FL experiments that can scale from local simulation to distributed settings. It's backend-agnostic, integrating with TensorFlow, PyTorch, and Jax, and supports various aggregation algorithms like FedAvg, FedOpt, and FedProx.

Quick Start & Requirements

  • Install via pip: pip install -U openfl
  • Install via conda: conda install conda-forge::openfl
  • Requires Python. ML frameworks (TensorFlow, PyTorch, Jax) must be installed separately.
  • Official documentation: https://openfl.readthedocs.io/en/latest/

Highlighted Details

  • Backend-agnostic design supports TensorFlow, PyTorch, and Jax.
  • Implements aggregation algorithms: FedAvg, FedOpt, FedProx, FedCurv.
  • Supports mTLS and TEE-based confidential computing environments.
  • Workflow API allows local simulation and seamless scaling to federated settings.

Maintenance & Community

  • Hosted by The Linux Foundation.
  • Active Slack channel for community engagement.
  • Mailing list for announcements: openfl-announce@lists.lfaidata.foundation.
  • CII Best Practices badge indicates adherence to security standards.

Licensing & Compatibility

  • Licensed under Apache License Version 2.0.
  • Permissive license suitable for commercial use and integration with closed-source projects.

Limitations & Caveats

  • The Workflow API is noted as experimental.
Health Check
Last commit

1 month ago

Responsiveness

1 week

Pull Requests (30d)
3
Issues (30d)
1
Star History
34 stars in the last 90 days

Explore Similar Projects

Starred by Peter Norvig Peter Norvig(Author of Artificial Intelligence: A Modern Approach; Research Director at Google), Michael Han Michael Han(Cofounder of Unsloth), and
15 more.

open-interpreter by openinterpreter

0.1%
60k
Natural language interface for computers
created 2 years ago
updated 4 days ago
Feedback? Help us improve.