Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.7%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: vestata
  • License: apache-2.0
  • Language: Python
  • Default Branch: testnvflare
  • Size: 25.5 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme Contributing License Code of conduct Citation Codeowners

README.md

NVIDIA Federated Learning Application Runtime Environment

NVIDIA FLARE is a domain-agnostic, open-source, extensible SDK that allows researchers and data scientists to adapt existing ML/DL workflows(PyTorch, TensorFlow, Scikit-learn, XGBoost etc.) to a federated paradigm. It enables platform developers to build a secure, privacy-preserving offering for a distributed multi-party collaboration.

NVIDIA FLARE is built on a componentized architecture that allows you to take federated learning workloads from research and simulation to real-world production deployment. Key components include:

  • Support both deep learning and traditional machine algorithms
  • Support horizontal and vertical federated learning
  • Built-in FL algorithms (e.g., FedAvg, FedProx, FedOpt, Scaffold, Ditto )
  • Support multiple 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
  • Security enforcement through federated authorization and privacy policy
  • Easily customizable and extensible
  • Deployment on cloud and on premise
  • Simulator for rapid development and prototyping
  • Dashboard UI for simplified project management and deployment
  • Built-in support for system resiliency and fault tolerance

Installation

To install the current release, you can simply run: $ 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 here.

Related talks and publications

For a list of talks, blogs, and publications related to NVIDIA FLARE, see here.

License

NVIDIA FLARE has Apache 2.0 license, as found in LICENSE file.

Owner

  • Name: nini
  • Login: vestata
  • Kind: user

Citation (CITATION.cff)

# Metadata for citation of this software according to the CFF format (https://citation-file-format.github.io/)
#
---
title: "Nvidia FLARE"
abstract: "Nvidia FLARE is an SDK designed to enable federated learning amongst different parties using
their local secure protected data for client-side training, at the same time it includes capabilities to
coordinate and exchange progressing of results across all sites to achieve better global model while
preserving data privacy."
authors:
  - name: "Nvidia Corporation"
date-released: 2022-06-29
version: "2.1.2"
identifiers:
  - description: "This DOI represents all versions of Nvidia FLARE, and will always resolve to the latest one."
    type: doi
    value: "10.5281/zenodo.6780567"
license: "Apache-2.0"
doi: 10.5281/zenodo.6780567
repository-code: "https://github.com/NVIDIA/nvflare"
url: "https://nvflare.readthedocs.io"
cff-version: "1.2.0"
message: "If you use this software, please cite it using these metadata."
preferred-citation:
  type: article
  authors:
  - family-names: Roth
    given-names: Holger R.
  - family-names: Cheng
    given-names:  Yan
  - family-names: Wen
    given-names:  Yuhong
  - family-names: Yang
    given-names:  Isaac
  - family-names: Xu
    given-names:  Ziyue
  - family-names: Hsieh
    given-names:  Yuan-Ting
  - family-names: Kersten
    given-names:  Kristopher
  - family-names: Harouni
    given-names:  Ahmed
  - family-names: Zhao
    given-names:  Can
  - family-names: Lu
    given-names:  Kevin
  - family-names: Zhang
    given-names:  Zhihong
  - family-names: Li
    given-names:  Wenqi
  - family-names: Myronenko
    given-names:  Andriy
  - family-names: Yang
    given-names:  Dong
  - family-names: Yang
    given-names:  Sean
  - family-names: Rieke
    given-names:  Nicola
  - family-names: Quraini
    given-names:  Abood
  - family-names: Chen
    given-names:  Chester
  - family-names: Xu
    given-names:  Daguang
  - family-names: Ma
    given-names:  Nic
  - family-names: Dogra
    given-names:  Prerna
  - family-names: Flores
    given-names:  Mona
  - family-names: Feng
    given-names:  Andrew
  doi: "https://doi.org/10.48550/arXiv.2210.13291"
  journal: "IEEE Data Eng. Bull., Vol. 46, No. 1"
  month: 3
  title: "NVIDIA FLARE: Federated Learning from Simulation to Real-World"
  year: 2023

GitHub Events

Total
Last Year

Dependencies

.github/workflows/blossom-ci.yml actions
  • NVIDIA/blossom-action main composite
  • actions/checkout v2 composite
.github/workflows/codeql.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/markdown-links-check.yml actions
  • actions/checkout master composite
  • gaurav-nelson/github-action-markdown-link-check 1.0.15 composite
.github/workflows/premerge.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
examples/advanced/brats18/configs/brats_central/meta.json cpan
examples/advanced/brats18/configs/brats_fedavg/meta.json cpan
examples/advanced/brats18/configs/brats_fedavg_dp/meta.json cpan
examples/advanced/cifar10/cifar10-real-world/jobs/cifar10_fedavg_he/meta.json cpan
examples/advanced/cifar10/cifar10-real-world/jobs/cifar10_fedavg_stream_tb/meta.json cpan
examples/advanced/cifar10/cifar10-sim/jobs/cifar10_central/meta.json cpan
examples/advanced/cifar10/cifar10-sim/jobs/cifar10_fedavg/meta.json cpan
examples/advanced/cifar10/cifar10-sim/jobs/cifar10_fedopt/meta.json cpan
examples/advanced/cifar10/cifar10-sim/jobs/cifar10_fedprox/meta.json cpan
examples/advanced/cifar10/cifar10-sim/jobs/cifar10_scaffold/meta.json cpan
examples/advanced/experiment-tracking/mlflow/jobs/hello-pt-mlflow/meta.json cpan
examples/advanced/experiment-tracking/mlflow/jobs/hello-pt-tb-mlflow/meta.json cpan
examples/advanced/experiment-tracking/tensorboard/jobs/tensorboard-streaming/meta.json cpan
examples/advanced/experiment-tracking/wandb/jobs/hello-pt-wandb/meta.json cpan
examples/advanced/federated-policies/jobs/job1/meta.json cpan
examples/advanced/federated-policies/jobs/job2/meta.json cpan
examples/advanced/federated-policies/jobs/job3/meta.json cpan
examples/advanced/federated-policies/jobs/job4/meta.json cpan
examples/advanced/federated-policies/jobs/job5/meta.json cpan
examples/advanced/federated-statistics/df_stats/jobs/df_stats/meta.json cpan
examples/advanced/federated-statistics/image_stats/jobs/image_stats/meta.json cpan
examples/advanced/fl_hub/jobs/numpy-cross-val/meta.json cpan
examples/advanced/gnn-pt/jobs/gnn-pt/meta.json cpan
examples/advanced/nlp-ner/jobs/bert_ncbi/meta.json cpan
examples/advanced/nlp-ner/jobs/gpt2_ncbi/meta.json cpan
examples/advanced/prostate/prostate_2D/job_configs/prostate_central/meta.json cpan
examples/advanced/prostate/prostate_2D/job_configs/prostate_ditto/meta.json cpan
examples/advanced/prostate/prostate_2D/job_configs/prostate_fedavg/meta.json cpan
examples/advanced/prostate/prostate_2D/job_configs/prostate_fedprox/meta.json cpan
examples/advanced/prostate/prostate_3D/job_configs/prostate_central/meta.json cpan
examples/advanced/prostate/prostate_3D/job_configs/prostate_ditto/meta.json cpan
examples/advanced/prostate/prostate_3D/job_configs/prostate_fedavg/meta.json cpan
examples/advanced/prostate/prostate_3D/job_configs/prostate_fedprox/meta.json cpan
examples/advanced/psi/user_email_match/jobs/user_email_match/meta.json cpan
examples/advanced/random_forest/jobs/random_forest_base/meta.json cpan
examples/advanced/sklearn-kmeans/jobs/sklearn_kmeans_base/meta.json cpan
examples/advanced/sklearn-linear/jobs/sklearn_linear_base/meta.json cpan
examples/advanced/sklearn-svm/jobs/sklearn_svm_base/meta.json cpan
examples/advanced/vertical_federated_learning/cifar10-splitnn/jobs/cifar10_psi/meta.json cpan
examples/advanced/vertical_federated_learning/cifar10-splitnn/jobs/cifar10_splitnn/meta.json cpan
examples/advanced/vertical_xgboost/jobs/vertical_xgb/meta.json cpan
examples/advanced/vertical_xgboost/jobs/vertical_xgb_psi/meta.json cpan
examples/advanced/xgboost/histogram-based/jobs/base/meta.json cpan
examples/advanced/xgboost/tree-based/jobs/bagging_base/meta.json cpan
examples/advanced/xgboost/tree-based/jobs/cyclic_base/meta.json cpan
examples/hello-world/hello-ccwf/jobs/numpy-swcse/meta.json cpan
examples/hello-world/hello-cyclic/jobs/hello-cyclic/meta.json cpan
examples/hello-world/hello-numpy-cross-val/jobs/hello-numpy-cross-val/meta.json cpan
examples/hello-world/hello-numpy-sag/jobs/hello-numpy-sag/meta.json cpan
examples/hello-world/hello-pt/jobs/hello-pt/meta.json cpan
examples/hello-world/hello-tf2/jobs/hello-tf2/meta.json cpan
integration/monai/examples/spleen_ct_segmentation_local/job/meta.json cpan
integration/monai/examples/spleen_ct_segmentation_local/job_he/meta.json cpan
integration/monai/examples/spleen_ct_segmentation_local/jobs/spleen_ct_segmentation_local/meta.json cpan
integration/monai/examples/spleen_ct_segmentation_sim/job/meta.json cpan
integration/monai/examples/spleen_ct_segmentation_sim/job_multi_gpu/meta.json cpan
integration/monai/examples/spleen_ct_segmentation_sim/job_stats/meta.json cpan
integration/nemo/examples/prompt_learning/jobs/templates/meta.json cpan
integration/nemo/examples/supervised_fine_tuning/jobs/templates/meta.json cpan
research/auto-fed-rl/jobs/cifar10_autofedrl/meta.json cpan
research/condist-fl/jobs/condist/meta.json cpan
research/fed-ce/jobs/fedce_prostate/meta.json cpan
research/fed-sm/jobs/fedsm_prostate/meta.json cpan
research/one-shot-vfl/jobs/cifar10_oneshotVFL/meta.json cpan
research/one-shot-vfl/jobs/cifar10_psi/meta.json cpan
research/quantifying-data-leakage/jobs/app_template/meta.json cpan
tests/unit_test/data/jobs/duplicate_clients/meta.json cpan
tests/unit_test/data/jobs/duplicate_server/meta.json cpan
tests/unit_test/data/jobs/invalid_resource_spec_data_type/meta.json cpan
tests/unit_test/data/jobs/mandatory_not_met/meta.json cpan
tests/unit_test/data/jobs/min_clients_value_range/meta.json cpan
tests/unit_test/data/jobs/missing_app/meta.json cpan
tests/unit_test/data/jobs/missing_client_config/meta.json cpan
tests/unit_test/data/jobs/missing_server_config/meta.json cpan
tests/unit_test/data/jobs/missing_server_in_deployment/meta.json cpan
tests/unit_test/data/jobs/no_deployment/meta.json cpan
tests/unit_test/data/jobs/not_enough_clients/meta.json cpan
tests/unit_test/data/jobs/valid_job/meta.json cpan
tests/unit_test/data/jobs/valid_job_deployment_all_idle/meta.json cpan
docker/Dockerfile docker
  • python 3.8 build
examples/advanced/brats18/plot-requirements.txt pypi
  • matplotlib *
  • seaborn *
  • tensorflow *
examples/advanced/brats18/requirements.txt pypi
  • monai *
  • nibabel *
  • nvflare >=2.3.0
  • tensorboard *
  • torch *
  • torchvision *
  • tqdm *
examples/advanced/cifar10/cifar10-real-world/plot-requirements.txt pypi
  • pandas *
  • seaborn *
  • tensorflow *
examples/advanced/cifar10/cifar10-real-world/requirements.txt pypi
  • nvflare >=2.3.0
  • tensorboard *
  • torch *
  • torchvision *
examples/advanced/cifar10/cifar10-sim/plot-requirements.txt pypi
  • pandas *
  • seaborn *
  • tensorflow *
examples/advanced/cifar10/cifar10-sim/requirements.txt pypi
  • nvflare >=2.3.0
  • tensorboard *
  • torch *
  • torchvision *
examples/advanced/experiment-tracking/mlflow/requirements.txt pypi
  • mlflow *
  • nvflare >=2.3.0
  • tensorboard *
  • torch *
  • torchvision *
examples/advanced/experiment-tracking/tensorboard/requirements.txt pypi
  • nvflare >=2.3.0
  • tensorboard *
examples/advanced/experiment-tracking/wandb/requirements.txt pypi
  • nvflare >=2.3.0
  • tensorboard *
  • wandb *
examples/advanced/federated-policies/requirements.txt pypi
  • nvflare >=2.3.0
examples/advanced/federated-statistics/df_stats/requirements.txt pypi
  • jupyterlab *
  • matplotlib *
  • numpy *
  • nvflare >=2.3.0
  • pandas *
examples/advanced/federated-statistics/image_stats/requirements.txt pypi
  • jupyter *
  • kaleido *
  • matplotlib *
  • monai *
  • notebook *
  • numpy *
  • nvflare >=2.3.0
  • pandas *
examples/advanced/gnn-pt/requirements.txt pypi
  • nvflare >=2.3.0
  • scikit_learn ==1.2.2
  • torch_geometric ==2.3.1
  • tqdm ==4.66.1
examples/advanced/nlp-ner/requirements.txt pypi
  • nvflare *
  • pandas *
  • seqeval *
  • tensorboard *
  • torch *
  • torchvision *
  • transformers *
examples/advanced/prostate/plot-requirements.txt pypi
  • matplotlib *
  • seaborn *
  • tensorflow *
examples/advanced/prostate/requirements.txt pypi
  • monai *
  • nibabel *
  • nvflare >=2.3.0
  • tensorboard *
  • torch *
  • torchvision *
  • tqdm *