Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Flower Baseline: FedAvg+Shakespeare #1542

Closed
20 tasks
charlesbvll opened this issue Jan 6, 2023 · 1 comment
Closed
20 tasks

Add Flower Baseline: FedAvg+Shakespeare #1542

charlesbvll opened this issue Jan 6, 2023 · 1 comment
Labels

Comments

@charlesbvll
Copy link
Member

Paper

McMahan et al., 2016, Communication-Efficient Learning of Deep Networks from Decentralized Data, Shakespeare

Link

https://arxiv.org/abs/1602.05629

Maybe give motivations about why the paper should be implemented as a baseline.

This paper was the first to propose a federated approach for deep learning on decentralized data.

Is there something else you want to add?

No response

Implementation

To implement this baseline, it is recommended to do the following items in that order:

For first time contributors

Prepare - understand the scope

  • Read the paper linked above
  • Create the directory structure in Flower Baselines (just the __init__.py files and a README.md)
  • Before starting to write code, write down all of the specs of this experiment in a README (dataset, partitioning, model, number of clients, all hyperparameters, …)
  • Open a draft PR

Implement - make it work

  • Implement some form of dataset loading and partitioning in a separate dataset.py (doesn’t have to match the paper exactly)
  • Implement the model in PyTorch
  • Write a test that shows that the model has the number of parameters mentioned in the paper
  • Implement the federated learning setup outlined in the paper, maybe starting with fewer clients
  • Plot accuracy and loss
  • Run it and check if the model starts to converge

Align - make it converge

  • Implement the exact data partitioning outlined in the paper
  • Use the exact hyperparameters outlined in the paper
  • Make it converge to roughly the same accuracy that the paper states
  • Commit the final hyperparameters and plots
  • Mark the PR as ready
@kamathhrishi
Copy link

Will want to work on this.

@charlesbvll charlesbvll closed this as not planned Won't fix, can't repro, duplicate, stale May 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

2 participants