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.
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
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"
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]"
On Ubuntu: If the install process failed, you can try:
sudo apt install libopenmpi-dev,libopenmpi-bin,libopenmpi-doc
This material is based upon work supported by the U.S. Department of Energy, Office of Science, under contract number DE-AC02-06CH11357.