This release is a pre-release and may not be stable for production use.
Flower - A Friendly Federated Learning Framework
Flower (flwr) is a framework for building federated learning systems. The
design of Flower is based on a few guiding principles:
-
Customizable: Federated learning systems vary wildly from one use case to another. Flower allows for a wide range of different configurations depending on the needs of each individual use case.
-
Extendable: Flower originated from a research project at the Univerity of Oxford, so it was build with AI research in mind. Many components can be extended and overridden to build new state-of-the-art systems.
-
Framework-agnostic: Different machine learning frameworks have different strengths. Flower can be used with any machine learning framework, for example, PyTorch, TensorFlow, PyTorch Lightning, MXNet, scikit-learn, TFLite, or even raw NumPy for users who enjoy computing gradients by hand.
-
Understandable: Flower is written with maintainability in mind. The community is encouraged to both read and contribute to the codebase.
Meet the Flower community on flower.dev!
Documentation
- Installation
- Quickstart (TensorFlow)
- Quickstart (PyTorch)
- Quickstart (PyTorch Lightning [code example])
- Quickstart (MXNet)
- Quickstart (scikit-learn [code example])
- Quickstart (TFLite on Android [code example])
Flower Usage Examples
A number of examples show different usage scenarios of Flower (in combination with popular machine learning frameworks such as PyTorch or TensorFlow). To run an example, first install the necessary extras:
Quickstart examples:
- Quickstart (TensorFlow)
- Quickstart (PyTorch)
- Quickstart (PyTorch Lightning)
- Quickstart (MXNet)
- Quickstart (scikit-learn)
Other examples:
- Raspberry Pi & Nvidia Jetson Tutorial
- Android & TFLite
- PyTorch: From Centralized to Federated
- MXNet: From Centralized to Federated
- Advanced Flower with TensorFlow/Keras
- Single-Machine Simulation of Federated Learning Systems
Flower Baselines / Datasets
Experimental - curious minds can take a peek at baselines.
Citation
If you publish work that uses Flower, please cite Flower as follows:
@article{beutel2020flower,
title={Flower: A Friendly Federated Learning Research Framework},
author={Beutel, Daniel J and Topal, Taner and Mathur, Akhil and Qiu, Xinchi and Parcollet, Titouan and Lane, Nicholas D},
journal={arXiv preprint arXiv:2007.14390},
year={2020}
}
Please also consider adding your publication to the list of Flower-based publications in the docs, just open a Pull Request.
Contributing to Flower
We welcome contributions. Please see CONTRIBUTING.md to get started!
Metadata
Release files for flwr-nightly 0.18.0.dev20211015
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flwr-nightly-0.18.0.dev20211015.tar.gz | 120.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flwr_nightly-0.18.0.dev20211015-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 355.2 kB
Release files / flwr-nightly-0.18.0.dev20211015.tar.gz
| Download URL | flwr-nightly-0.18.0.dev20211015.tar.gz |
|---|---|
| Size | 120.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b9b7a2955db4013f8183bf1cea00cf63a4b8bd82aa56c76ca8cb4cac721b302a
|
|
BLAKE2b-256 checksum How to use checksums |
193065628fa113f217a0150fca48a031b9962961b9ef8ffe6862ce65b666c7cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.10 CPython/3.7.9 Linux/5.8.0-1042-azure
|
Release files / flwr_nightly-0.18.0.dev20211015-py3-none-any.whl
| Download URL | flwr_nightly-0.18.0.dev20211015-py3-none-any.whl |
|---|---|
| Size | 234.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4969b12b1559063dd8800e26f8c55b57ccfa5c4dabb5faa3dcffe4933becd8d9
|
|
BLAKE2b-256 checksum How to use checksums |
cc66fc8315916911c59fd05ebcc6ebbe554eff6a783f27f6c6f6f3f0a26e1a37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.10 CPython/3.7.9 Linux/5.8.0-1042-azure
|