metadata
license: apache-2.0
task_categories:
- image-classification
tags:
- federated-learning
- fedavg
- non-iid
- pytorch
Federated Digits
Federated Digits simulates five data-siloed clients learning a shared 8x8 digit classifier with Federated Averaging. Class samples are partitioned through a low-concentration Dirichlet distribution, producing deliberately non-IID clients.
The project reports:
- per-client class distributions;
- global test accuracy after every communication round;
- client-update disagreement;
- a centralized training control using the same architecture.
No raw client examples are exchanged during federated rounds; only model parameters are averaged. This is a local simulation, not a networked privacy guarantee.
Reproduce
uv run python projects/federated-digits/train.py
Verified results
- Model size: 2,410 parameters
- Clients: 5, with Dirichlet concentration
0.25 - Communication rounds: 30, with two local epochs per round
- Round-one global accuracy: 20.89%
- Final global accuracy: 93.33%
- Best global accuracy: 94.00%
- Centralized control: 96.89%
- Final federated-to-centralized gap: -3.56 percentage points
Mean client-update disagreement fell from 1.487 after the first round to 0.500 after round 30. The artifact includes every round's accuracy, client loss, update disagreement, and each client's class distribution.