Overview of PFLlib
masterPFLlib is a beginner-friendly Personalized Federated Learning (pFL) library and benchmark designed to help users master Federated Learning (FL) quickly. It supports 39 traditional FL (tFL) and personalized FL (pFL) algorithms, 3 scenarios, and 24 datasets. The platform is optimized for efficiency, capable of simulating 500 clients using a 4-layer CNN on Cifar100 with only ~5.08GB of GPU memory on a single NVIDIA GeForce RTX 3090.
Key capabilities include:
- Algorithm Support: A wide range of tFL (e.g., FedAvg, SCAFFOLD, FedProx) and pFL (e.g., Per-FedAvg, FedRep, FedDBE) algorithms.
- Scenario Simulation: Support for various data heterogeneity scenarios like label skew and feature shift.
- Evaluation: Provides privacy evaluation and systematic research support.
- New Client Testing: Ability to train on a subset of clients and evaluate performance on new, unseen clients by configuring
args.num_new_clientsin./system/main.py(note: not all algorithms support this).