alexbie98 / fedavg

PyTorch implementation of federated learning on MNIST

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyTorch implementation of federated averaging (FedAvg) on MNIST

Paper: Communication-Efficient Learning of Deep Networks from Decentralized Data [ICML'17].

I reproduced some of the MNIST experiments from the seminial paper of McMahan et al., 2017.

To run experiments, see the notebook fed_avg.ipynb.

See fed_avg.pdf for full experimental details and results.

Below are plots of test accuracy after t rounds of FedAvg:

  • for the iid and non-iid data setup;
  • for a CNN vs a 2 hidden-layer MLP (2NN);
  • for selecting m=10 or 50 clients each round.

iid noniid

E refers to the number of epochs for local training, for each client, for each round.

About

PyTorch implementation of federated learning on MNIST


Languages

Language:Jupyter Notebook 98.3%Language:Python 1.7%