This project demonstrates an experiment in Federated Learning using the Flower framework, incorporating sample-level Differential Privacy and enabling Secure Aggregation through the SecAgg+ protocol. The experiment is conducted on the MedMNIST dataset collection.
This project is built and tested on Python 3.8.10.
In the project's main directory, run the following commands to create a virtual environment and install the required packages:
python -m venv env
source env/bin/activate
python -m pip install .
-
Local Differential Privacy (LocalDP):
- Differential privacy is implemented using Flower's LocalDpMod.
-
Secure Aggregation (SecAgg+ Protocol):
- The SecAgg+ protocol is implemented via Flower's secaggplus_mod.
-
Easy Parameter Control:
- Parameters related to federated learning settings and the SecAgg+ protocol can be controlled from the
pyproject.toml
file.
- Parameters related to federated learning settings and the SecAgg+ protocol can be controlled from the