https://github.com/nvidia/nvflare
NVIDIA Federated Learning Application Runtime Environment
https://github.com/nvidia/nvflare
decentralized federated-analytics federated-computing federated-learning pet privacy-protection python
Last synced: 5 months ago
JSON representation
NVIDIA Federated Learning Application Runtime Environment
- Host: GitHub
- URL: https://github.com/nvidia/nvflare
- Owner: NVIDIA
- License: apache-2.0
- Created: 2021-07-23T17:26:12.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-09T18:15:31.000Z (5 months ago)
- Last Synced: 2025-05-09T19:26:41.175Z (5 months ago)
- Topics: decentralized, federated-analytics, federated-computing, federated-learning, pet, privacy-protection, python
- Language: Python
- Homepage: https://nvidia.github.io/NVFlare/
- Size: 114 MB
- Stars: 731
- Watchers: 20
- Forks: 189
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# NVIDIA FLARE
[Website](https://nvidia.github.io/NVFlare) | [Paper](https://arxiv.org/abs/2210.13291) | [Blogs](https://developer.nvidia.com/blog/tag/federated-learning) | [Talks & Papers](https://nvflare.readthedocs.io/en/main/publications_and_talks.html) | [Research](./research/README.md) | [Documentation](https://nvflare.readthedocs.io/en/main)
[](https://github.com/NVIDIA/nvflare/actions)
[](https://nvflare.readthedocs.io/en/main/?badge=main)
[](./LICENSE)
[](https://badge.fury.io/py/nvflare)
[](https://badge.fury.io/py/nvflare)
[](https://pepy.tech/project/nvflare)[NVIDIA FLARE](https://nvidia.github.io/NVFlare/) (**NV**IDIA **F**ederated **L**earning **A**pplication **R**untime **E**nvironment)
is a domain-agnostic, open-source, extensible Python SDK that allows researchers and data scientists to adapt existing ML/DL workflows to a federated paradigm.
It enables platform developers to build a secure, privacy-preserving offering for a distributed multi-party collaboration.## Features
FLARE is built on a componentized architecture that allows you to take federated learning workloads
from research and simulation to real-world production deployment.Application Features
* Support both deep learning and traditional machine learning algorithms (eg. PyTorch, TensorFlow, Scikit-learn, XGBoost etc.)
* Support horizontal and vertical federated learning
* Built-in Federated Learning algorithms (e.g., FedAvg, FedProx, FedOpt, Scaffold, Ditto, etc.)
* Support multiple server and client-controlled training workflows (e.g., scatter & gather, cyclic) and validation workflows (global model evaluation, cross-site validation)
* Support both data analytics (federated statistics) and machine learning lifecycle management
* Privacy preservation with differential privacy, homomorphic encryption, private set intersection (PSI)From Simulation to Real-World
* FLARE Client API to transition seamlessly from ML/DL to FL with minimal code changes
* Simulator and POC mode for rapid development and prototyping
* Fully customizable and extensible components with modular design
* Deployment on cloud and on-premise
* Dashboard for project management and deployment
* Security enforcement through federated authorization and privacy policy
* Built-in support for system resiliency and fault tolerance> _Take a look at [NVIDIA FLARE Overview](https://nvflare.readthedocs.io/en/main/flare_overview.html) for a complete overview, and [What's New](https://nvflare.readthedocs.io/en/main/whats_new.html) for the lastest changes._
## Installation
To install the [current release](https://pypi.org/project/nvflare/):
```
$ python3 -m pip install nvflare
```
## Getting Started* To get started, visit our NVFLARE [website](https://nvidia.github.io/NVFlare/), which includes:
* Comprehensive documentation, technical blogs, tutorials, and videos
* Slides and recordings of real-world federated learning use cases from past NVFLARE Day Events.
* Tools, API guides, CLI tutorials, training materials, and extensive examples
* For hands-on learning, try our [step-by-step walkthroughs](https://github.com/NVIDIA/NVFlare/tree/2.6/examples/hello-world/step-by-step) using consistent datasets.
* Learn how to adapt your centralized training code with our guide on [converting to federated learning](https://github.com/NVIDIA/NVFlare/tree/2.6/examples/hello-world/ml-to-fl).* Structured, self-paced learning is available through curated tutorials and training paths on the website.
* DLI courses:
* https://learn.nvidia.com/courses/course-detail?course_id=course-v1:DLI+S-FX-28+V1
* https://learn.nvidia.com/courses/course-detail?course_id=course-v1:DLI+S-FX-29+V1
* follow the notebooks: https://github.com/NVIDIA/NVFlare/tree/main/examples/tutorials/self-paced-training
* If you'd like to write your own NVIDIA FLARE components, a detailed programming guide can be found [here](https://nvflare.readthedocs.io/en/main/programming_guide.html).
* visit developer portal https://developer.nvidia.com/flare## Community
We welcome community contributions! Please refer to the [contributing guidelines](https://github.com/NVIDIA/NVFlare/blob/main/CONTRIBUTING.md) for more details.
Ask and answer questions, share ideas, and engage with other community members at [NVFlare Discussions](https://github.com/NVIDIA/NVFlare/discussions).
## Related Talks and Publications
Take a look at our growing list of [talks and publications](https://nvflare.readthedocs.io/en/main/publications_and_talks.html), and [technical blogs](https://developer.nvidia.com/blog/tag/federated-learning) related to NVIDIA FLARE.
## License
NVIDIA FLARE is released under an [Apache 2.0 license](https://github.com/NVIDIA/NVFlare/blob/main/LICENSE).