An open-source package for privacy-preserving federated learning
Project description
APPFL: Argonne Privacy-Preserving Federated Learning
APPFL is an open-source software framework that allows research communities to implement, test, and validate various ideas for privacy-preserving federated learning (PPFL). With this framework, developers and/or users can
- train a user-defined neural network model on decentralized data with differential privacy,
- simulate various PPFL algorithms on high-performance computing (HPC) architecture with MPI,
- implement user-defined PPFL algorithms in a plug-and-play manner.
Such algorithmic components include federated learning (FL) algorithm, privacy technique, communication protocol, FL model to train, and data.
- Documentation: please check out the documentation for tutorials, users guide, and developers guide.
Installation
We highly recommend to create new Conda virtual environment and install the required packages for APPFL.
conda create -n APPFL python=3.8
conda activate APPFL
User installation
For most users such as data scientists, this simple installation must be sufficient for running the package.
pip install pip --upgrade
pip install "appfl[analytics,examples]"
If we want to even minimize the installation of package dependencies, we can skip the installation of a few pacakges (e.g., matplotlib
and jupyter
):
pip install "appfl"
Developer installation
Code developers and contributors may want to work on the local repositofy. To set up the development environment,
git clone https://github.com/APPFL/APPFL.git
cd APPFL
pip install -e ".[dev,examples,analytics]"
Acknowledgements
This material is based upon work supported by the U.S. Department of Energy, Office of Science, under contract number DE-AC02-06CH11357.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.