Skip to main content

p2p Federated Learning framework

Project description

GitHub Logo

P2PFL - Federated Learning over P2P networks

GitHub license GitHub issues GitHub contributors GitHub forks GitHub stars GitHub activity

P2PFL is a general-purpose open-source library for the execution (simulated and in real environments) of Decentralized Federated Learning systems, specifically making use of P2P networks and the Gossisp protocol.

✅ Features

  • Easy to use and extend
  • Fault tolerant
  • Decentralized and Scalable
  • Simulated (to-do, changed in 0.2.0) and real environments
  • Privacy-preserving
  • Framework agnostic

📥 Installation

Note We recommend using Python 3.9 or lower. We have found some compatibility issues with Python 3.10 and PyTorch.

👨🏼‍💻 For users

To install the library, you can simply run:

pip install p2pfl

Or you can install it from source:

git clone https://github.com/pguijas/p2pfl.git
cd p2pfl
pip install -e .

👨🏼‍🔧 For developers

To install the library for development we recommend using a virtual environment. For example, with pipenv:

pipenv install --requirements requirements.txt

📚 Documentation

🚀 TO DO

Note Don't be shy, share your ideas with us!

  • Agnostic installation with variants for different frameworks (include TensorFlow)
  • Add secure channels and node authentication
  • Improved simulation environment
  • Control panel
  • add FEMNIST example
  • add typing
  • New aggregation methods
  • Hot node inclusion
  • Secure aggregation
  • Non trainable nodes (gossip nodes) to increase the efficiency of the network

👫 Contributing

Contributions are always welcome!

See CONTRIBUTING.md for ways to get started.

Please adhere to this project's code of conduct specified in CODE_OF_CONDUCT.md.

💬 Google Group

If you have any questions, or you to be notified of any updates, you can join the Google Group here.

📜 License

GNU General Public License, Version 3.0

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

p2pfl-0.2.2.tar.gz (38.0 kB view hashes)

Uploaded Source

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