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

Refresh FedProx MNIST baseline #1918

Merged
merged 25 commits into from
Jul 6, 2023
Merged

Refresh FedProx MNIST baseline #1918

merged 25 commits into from
Jul 6, 2023

Conversation

jafermarq
Copy link
Contributor

@jafermarq jafermarq commented Jun 13, 2023

I'm adding some extra functionality to the FedProx-MNIST baseline. The main idea behind the changes and new code is to make it replicate the MNIST results in the FedProx paper. List of changes:

  • Added the model used in the paper models/LogisticRegression
  • The dataset can be partitioned following a power-law (as described in the paper). This is the new default behaviour
  • Added support for clients to "drop". If they are not running w/ FedProx and are flagged as stragglers they should be discarded from aggregation. This is done with a custom strategy.
  • There was a small bug in datasets._balance_classes() so I fixed it
  • Small tweak to figure creation script.

baselines/fedprox/pyproject.toml Outdated Show resolved Hide resolved
baselines/fedprox/pyproject.toml Outdated Show resolved Hide resolved
baselines/fedprox/pyproject.toml Outdated Show resolved Hide resolved
baselines/fedprox/fedprox/strategy.py Outdated Show resolved Hide resolved
baselines/fedprox/fedprox/models.py Outdated Show resolved Hide resolved
@jafermarq jafermarq requested a review from danieljanes July 6, 2023 08:14
@danieljanes danieljanes changed the title Fedprox mnist refresh Refresh FedProx MNIST baseline Jul 6, 2023
@danieljanes danieljanes enabled auto-merge (squash) July 6, 2023 13:11
@danieljanes danieljanes merged commit 8872ec3 into main Jul 6, 2023
@danieljanes danieljanes deleted the fedprox_mnist_refresh branch July 6, 2023 13:15
tanertopal added a commit that referenced this pull request Jul 11, 2023
* main:
  Add new baselines test github workflow (#2009)
  Add simulation to E2E tests (#2074)
  Add E2E test for Pandas (#2070)
  Add E2E test for scikit-learn (#2073)
  Add format and test scripts (#1987)
  Add missing ruff dependency to baselines (#2075)
  Add E2E test for MXNet (#2069)
  Add E2E test for Jax (#2067)
  Update bare E2E test client (#2068)
  Update PyTorch E2E test (#2072)
  Update Tensorflow E2E test (#2071)
  Fix flake8 error E266 in baseline template (#2065)
  Fix baseline creation on linux-based systems (#2063)
  Updates to Baseline Template Readmes (#2059)
  Refresh FedProx MNIST baseline (#1918)
  Extend test checking tools config (#1986)
  Improved documentation (#2006)
  updated material for 30min FL tutorial (#2005)
  Update codeowners list (#2004)
  Create and delete nodes via Fleet API (#1901)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants