-
Notifications
You must be signed in to change notification settings - Fork 30
fix: async FL algorithm to follow FedBuff in aggregation #438
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
Conversation
Codecov Report
❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more. @@ Coverage Diff @@
## main #438 +/- ##
=======================================
Coverage 14.87% 14.87%
=======================================
Files 48 48
Lines 2830 2830
=======================================
Hits 421 421
Misses 2380 2380
Partials 29 29 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
left one comment
self.weights = self._agg_goal_weights | ||
# set global weights, by adding scaled aggregated weights with aggregation goal | ||
self.weights = self.optimizer.scale_add_agg_weights( | ||
self.weights, self._agg_goal_weights, self._agg_goal |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like self.weights and self.prev_weights point to the same object.
If so, we need to do a deepcopy
here.
Can you please confirm if those two point to different objects?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Found these are the same; updated the code to deepcopy weights on prev_weights! Thank you very much for nice catch :)
changed the aggregation process to only aggregate delta weights, scale down when agg goal is achieved, and then add the scaled delta weights to the original weights.
162c23a
to
6d9883a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
changed the aggregation process to only aggregate delta weights, scale down when agg goal is achieved, and then add the scaled delta weights to the original weights.
changed the aggregation process to only aggregate delta weights, scale down when agg goal is achieved, and then add the scaled delta weights to the original weights.
Description
Please provide a meaningful description of what this change will do, or is for. Bonus points for including links to
related issues, other PRs, or technical references.
Note that by not including a description, you are asking reviewers to do extra work to understand the context of this
change, which may lead to your PR taking much longer to review, or result in it not being reviewed at all.
Type of Change
Checklist