← all repositories
KarhouTam/FL-bench

One repo, fifty federated learning methods, zero reimplementation

FL-bench collects dozens of FL algorithms under one PyTorch harness so you can compare them without rebuilding the scaffolding each time.

★694 stars Python ML Frameworks
Collecting fresh signals — velocity needs a few days of history.
star history

What it does

FL-bench is a benchmarking framework for federated learning research. It ships unified PyTorch implementations of a large catalog of methods — classic ones like FedAvg, FedProx, SCAFFOLD and MOON, plus a long tail of personalized FL (Ditto, FedRep, pFedMe, kNN-Per…), domain generalization variants, and a differentially private DP-FedAvg. Everything runs through the same dataset generation, config, and experiment pipeline, so comparisons are at least apples-to-apples-ish.

The interesting bit

The architecture is deliberately boring in the good way: every method inherits from FedAvgServer and FedAvgClient, so adding your own algorithm means subclassing two well-understood classes rather than wiring up a new distributed system. Hyperparameters resolve in a sane priority order — CLI over config file over defaults — which is exactly the kind of unglamorous detail that makes benchmarking tolerable.

Key highlights

  • 50+ FL methods spanning traditional, personalized, domain generalization, and differential privacy flavors, each linked to its paper.
  • Dataset partitioning tools (e.g., Dirichlet-based non-IID splits) for building federated scenarios.
  • Optional parallel training via Ray to speed up experiments.
  • Monitoring through Visdom or TensorBoard.
  • The maintainer’s own pFedSim is included — marked with a star, which is at least honest self-promotion.

Caveats

  • The README doesn’t state which datasets or models are supported out of the box beyond an MNIST example, so scope beyond that is unclear.
  • Visdom/TensorBoard servers must be launched by the user; monitoring isn’t fully turnkey.

Verdict

If you’re an FL researcher tired of reimplementing FedAvg as a baseline for the tenth time, this is worth a look. If you just want to deploy federated learning in production, this is a benchmark, not a framework — look elsewhere.

Frequently asked

What is KarhouTam/FL-bench?
FL-bench collects dozens of FL algorithms under one PyTorch harness so you can compare them without rebuilding the scaffolding each time.
Is FL-bench open source?
Yes — KarhouTam/FL-bench is open source, released under the GPL-3.0 license.
What language is FL-bench written in?
KarhouTam/FL-bench is primarily written in Python.
How popular is FL-bench?
KarhouTam/FL-bench has 694 stars on GitHub.
Where can I find FL-bench?
KarhouTam/FL-bench is on GitHub at https://github.com/KarhouTam/FL-bench.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.