Package: openfl
Open Federated Learning (OpenFL) is a Python 3 framework for Federated Learning. OpenFL is designed to be aflexible,extensibleandeasily learnabletool for data scientists. OpenFL is hosted by The Linux Foundation, aims to be community-driven, and welcomes contributions back to the project.Looking for the Open Flash Library project also referred to as OpenFL? Find ithere!InstallationYou can simply install OpenFL from PyPI:$ pip install openflFor more installation options check out theonline documentation.Getting StartedOpenFL enables data scientists to set up a federated learning experiment following one of the workflows:Director-based Workflow:
Setup long-lived components to run many experiments in series. Recommended for FL research when many changes to model, dataloader, or hyperparameters are expectedAggregator-based Workflow:
Define an experiment and distribute it manually. All participants can verify model code andFL planprior to execution. The federation is terminated when the experiment is finishedWorkflow Interface(experimental):
Create complex experiments that extend beyond traditional horizontal federated learning. See theexperimental tutorialsto learn how to coordinateaggregator validation after collaborator model training,perform global differentially private federated learning, measure the amount of private information embedded in a model after collaborator training withprivacy meter, oradd a watermark to a federated model.The quickest way to test OpenFL is to follow ourtutorials.Read theblog postexplaining steps to train a model with OpenFL.Check out theonline documentationto launch your first federation.RequirementsUbuntu Linux 18.04+Python 3.7+ (recommended to use withVirtualenv).OpenFL supports training with TensorFlow 2+ or PyTorch 1.3+ which should be installed separately. User can extend the list of supported Deep Learning frameworks if needed.Project OverviewWhat is Federated LearningFederated learningis a distributed machine learning approach that enables collaboration on machine learning projects without having to share sensitive data, such as, patient records, financial data, or classified information. The minimum data movement needed across the federation is solely the model parameters and their updates.BackgroundOpenFL builds on a collaboration between Intel and the University of Pennsylvania (UPenn) to develop theFederated Tumor Segmentation (FeTS, www.fets.ai)platform (grant award number: U01-CA242871).The grant for FeTS was awarded to theCenter for Biomedical Image Computing and Analytics (CBICA)at UPenn (PI: S. Bakas) from theInformatics Technology for Cancer Research (ITCR)program of the National Cancer Institute (NCI) of the National Institutes of Health (NIH).FeTS is a real-world medical federated learning platform with international collaborators. The original OpenFederatedLearning project and OpenFL are designed to serve as the backend for the FeTS platform,
and OpenFL developers and researchers continue to work very closely with UPenn on the FeTS project. An example is theFeTS-AI/Front-End, which integrates UPenn’s medical AI expertise with OpenFL framework to create a federated learning solution for medical imaging.Although initially developed for use in medical imaging, OpenFL designed to be agnostic to the use-case, the industry, and the machine learning framework.You can find more details in the following articles:Pati S, et al., 2022Reina A, et al., 2021Sheller MJ,  et al., 2020Sheller MJ, et al., 2019Yang Y, et al., 2019McMahan HB, et al., 2016Supported Aggregation AlgorithmsAlgorithm NamePaperPyTorch implementationTensorFlow implementationOther frameworks compatibilityHow to useFedAvgMcMahan et al., 2017✅✅✅docsFedProxLi et al., 2020✅✅❌docsFedOptReddi et al., 2020✅✅✅docsFedCurvShoham et al., 2019✅❌❌docsSupportPlease join us for our bi-monthly community meetings starting December 1 & 2, 2022!Meet with some of the OpenFL team members behind OpenFL.We will be going over our roadmap, open for Q&A, and welcome idea sharing.Calendar and links to a Community calls arehereSubscribe to the OpenFL mail listopenfl-announce@lists.lfaidata.foundationSee you there!We also always welcome questions, issue reports, and suggestions via:GitHub IssuesSlack workspaceLicenseThis project is licensed underApache License Version 2.0. By contributing to the project, you agree to the license and copyright terms therein and release your contribution under these terms.Citation@article{openfl_citation,
	author={Foley, Patrick and Sheller, Micah J and Edwards, Brandon and Pati, Sarthak and Riviera, Walter and Sharma, Mansi and Moorthy, Prakash Narayana and Wang, Shi-han and Martin, Jason and Mirhaji, Parsa and Shah, Prashant and Bakas, Spyridon},
	title={OpenFL: the open federated learning library},
	journal={Physics in Medicine \& Biology},
	url={http://iopscience.iop.org/article/10.1088/1361-6560/ac97d9},
	year={2022},
	doi={10.1088/1361-6560/ac97d9},
	publisher={IOP Publishing}
}