P2PFL is a general-purpose open-source library designed for the execution (simulated and in real environments) of Decentralized Federated Learning systems, specifically making use of P2P networks and the gossip protocols.
P2PFL offers a range of features designed to make decentralized federated learning accessible and efficient. For detailed information, please refer to our documentation.
Feature | Description |
---|---|
π Easy to Use | Get started quickly with our intuitive API. |
π‘οΈ Reliable | Built for fault tolerance and resilience. |
π Scalable | Leverages the power of peer-to-peer networks. |
π§ͺ Versatile | Experiment in simulated or real-world environments. |
π Private | Prioritizes data privacy with decentralized architecture. |
π§© Flexible | Designed to be easy to modify. |
π Real-time Monitoring | Manage and track experiment through P2PFL Web Services platform. |
π§ ML Frameworks | Seamlessly integrate PyTorch, TensorFlow/Keras, and JAX models. |
π‘ Communication Protocol Agnostic | Choose the communication protocol that best suits your needs (e.g., gRPC). |
π Integrations | Enhanced capabilities through integrations: Hugging Face Datasets, ML frameworks, communication protocols, and Ray for large-scale simulations. |
pip install "p2pfl[torch]"
git clone https://github.com/p2pfl/p2pfl.git
cd p2pfl
poetry install -E torch
Note: Use the extras (
-E
) flag to install specific dependencies (e.g.,-E torch
). Use--no-dev
to exclude development dependencies.
docker build -t p2pfl .
docker run -it --rm p2pfl bash
To start using P2PFL, follow our quickstart guide in the documentation.
- Documentation: https://p2pfl.github.io/p2pfl/
- Technical Report: (first version) other/memoria.pdf
We welcome contributions! See CONTRIBUTING.md for guidelines. Please adhere to the project's code of conduct in CODE_OF_CONDUCT.md.
Connect with us and stay updated:
- GitHub Issues: - For reporting bugs and requesting features.
- Google Group: - For discussions and announcements.
- Slack: - For real-time conversations and support.
A big thank you to the community for your interest in P2PFL! We appreciate your support and contributions.