Science Score: 54.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
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.0%) to scientific vocabulary

Scientific Fields

Artificial Intelligence and Machine Learning Computer Science - 60% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: franzheffa
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 84.6 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 6 months ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Codeowners

README.md

NVIDIA Logo

NVIDIA FLARE

Website | Paper | Blogs | Talks & Papers | Research | Documentation

Blossom-CI documentation license pypi pyversion downloads

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

Installation

To install the current release: $ python3 -m pip install nvflare

For detailed installation please refer to NVIDIA FLARE installation.

Getting Started

  • To get started, visit our NVFLARE website, 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 using consistent datasets.
  • Learn how to adapt your centralized training code with our guide on converting to federated learning.

  • 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.

  • visit developer portal https://developer.nvidia.com/flare

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 and publications, and technical blogs related to NVIDIA FLARE.

License

NVIDIA FLARE is released under an Apache 2.0 license.

Owner

  • Login: franzheffa
  • 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
  • Push event: 1
  • Create event: 2
Last Year
  • Push event: 1
  • Create event: 2

Dependencies

.github/workflows/blossom-ci.yml actions
  • NVIDIA/blossom-action main composite
  • actions/checkout v4 composite
.github/workflows/codeql.yml actions
  • actions/checkout v4 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/deploy.yml actions
  • JamesIves/github-pages-deploy-action v4.6.4 composite
  • actions/checkout v4 composite
  • actions/setup-node v4 composite
.github/workflows/markdown-links-check.yml actions
  • actions/checkout v4 composite
  • lycheeverse/lychee-action v2 composite
.github/workflows/premerge.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 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/code-pre-install/jobs/fedavg/meta.json cpan
examples/advanced/code-pre-install/jobs/fedavg_config/meta.json cpan
examples/advanced/experiment-tracking/mlflow/jobs/hello-pt-mlflow-client/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/hierarchical_stats/jobs/hierarchical_stats/meta.json cpan
examples/advanced/federated-statistics/image_stats/jobs/image_stats/meta.json cpan
examples/advanced/finance/jobs/2_bagging/meta.json cpan
examples/advanced/finance/jobs/2_cyclic/meta.json cpan
examples/advanced/finance/jobs/2_histogram/meta.json cpan
examples/advanced/fl_hub/jobs/numpy-cross-val/meta.json cpan
examples/advanced/job-level-authorization/jobs/job1/meta.json cpan
examples/advanced/job-level-authorization/jobs/job2/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-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/hello-world/hello-numpy-sag/jobs/hello-numpy-sag/meta.json cpan
examples/tutorials/self-paced-training/part-3_security_and_privacy/chapter-6_Security_in_federated_compute_system/06.2_site_security_privacy_policy/code/federated-policies/jobs/job1/meta.json cpan
examples/tutorials/self-paced-training/part-3_security_and_privacy/chapter-6_Security_in_federated_compute_system/06.2_site_security_privacy_policy/code/federated-policies/jobs/job2/meta.json cpan
examples/tutorials/self-paced-training/part-3_security_and_privacy/chapter-6_Security_in_federated_compute_system/06.2_site_security_privacy_policy/code/federated-policies/jobs/job3/meta.json cpan
examples/tutorials/self-paced-training/part-3_security_and_privacy/chapter-6_Security_in_federated_compute_system/06.2_site_security_privacy_policy/code/federated-policies/jobs/job4/meta.json cpan
examples/tutorials/self-paced-training/part-3_security_and_privacy/chapter-6_Security_in_federated_compute_system/06.2_site_security_privacy_policy/code/federated-policies/jobs/job5/meta.json cpan
integration/monai/examples/spleen_ct_segmentation_local/jobs/spleen_ct_segmentation_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
job_templates/cyclic_cc_pt/meta.json cpan
job_templates/cyclic_pt/meta.json cpan
job_templates/sag_pt_executor/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/integration_test/data/apps/cross_val/meta.json cpan
tests/integration_test/data/apps/cross_val_one_client/meta.json cpan
tests/integration_test/data/apps/cyclic/meta.json cpan
tests/integration_test/data/apps/filters/meta.json cpan
tests/integration_test/data/apps/global_model_eval/meta.json cpan
tests/integration_test/data/apps/np_sag/meta.json cpan
tests/integration_test/data/apps/np_sag_weights_diff/meta.json cpan
tests/integration_test/data/apps/pt_init_client/meta.json cpan
tests/integration_test/data/apps/pt_use_path/meta.json cpan
tests/integration_test/data/apps/sag_exception/meta.json cpan
tests/integration_test/data/apps/slow_job/meta.json cpan
tests/integration_test/data/apps/tb_streaming/meta.json cpan
tests/integration_test/data/jobs/hello-ccwf/meta.json cpan
tests/integration_test/data/jobs/hello-cyclic/meta.json cpan
tests/integration_test/data/jobs/hello-numpy-cross-val/meta.json cpan
tests/integration_test/data/jobs/hello-numpy-sag/meta.json cpan
tests/integration_test/data/jobs/hello-pt/meta.json cpan
tests/integration_test/data/jobs/hello-tf2/meta.json cpan
tests/integration_test/data/jobs/higgs_2_cyclic_uniform_split_uniform_lr/meta.json cpan
tests/integration_test/data/jobs/higgs_2_histogram_uniform_split_uniform_lr/meta.json cpan
tests/integration_test/data/jobs/higgs_2_histogram_v2_uniform_split_uniform_lr/meta.json cpan
tests/tools/file_streaming/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