Git Product home page Git Product logo

nvflare's Introduction

Blossom-CI documentation license pypi pyversion downloads

NVIDIA FLARE

NVIDIA FLARE (NVIDIA Federated Learning Application Runtime Environment) is a domain-agnostic, open-source, extensible 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 for a complete overview, and What's New for the lastest changes.

Installation

To install the current release:

$ python3 -m pip install nvflare

Getting Started

You can quickly get started using the FL simulator. A detailed getting started guide is available in the documentation.

Examples and notebook tutorials are located at NVFlare/examples.

Community

We welcome community contributions! Please refer to the contributing guidelines for more details.

Ask and answer questions, share ideas, and engage with other community members at NVFlare Discussions.

Related Talks and Publications

Take a look at our growing list of talks, blogs, and publications related to NVIDIA FLARE.

License

NVIDIA FLARE is released under an Apache 2.0 license.

nvflare's People

Contributors

can-zhao avatar chesterxgchen avatar dependabot[bot] avatar eordentlich avatar guopengf avatar holgerroth avatar isaacyangsla avatar jeffwan avatar jeremy313 avatar kkersten avatar madil90 avatar nanaha1003 avatar npann avatar nvidianz avatar nvkevlu avatar pxli avatar rongou avatar shuoer86 avatar syangster avatar taleinat avatar wangxiaoyunnv avatar wyli avatar xander-aphe-hatschi avatar yanchengnv avatar yanxuanliu avatar yhwen avatar yiheng-wang-nv avatar yinqingh avatar yuantinghsieh avatar ziyuexu77 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.