-
Notifications
You must be signed in to change notification settings - Fork 833
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 TAMUNA baseline #2254
Add TAMUNA baseline #2254
Conversation
Hi @jafermarq, @gsmalinovsky and I made a first draft of the pull request for TAMUNA algorithm. Could we discuss this with you in the near future? |
Hi @Crabzmatic @gsmalinovsky , sure. Let's discuss over Slack for a time to chat? |
done |
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.
Thanks for incorporating those changes.
I have done another pass and included some small comments. In addition to those:
- Are you planning to also include results from Figure 2&3 as discussed in TAMUNA #2033?
- I see the formatting script passes perfectly! Great!
- The tests script however (i.e.
./dev/test-baseline.sh
) finds a few errors (mostly easy to fix)
Co-authored-by: Javier <jafermarq@users.noreply.github.com>
Co-authored-by: Javier <jafermarq@users.noreply.github.com>
Co-authored-by: Javier <jafermarq@users.noreply.github.com>
If I understand this correctly, problem can be solved by changing type hint in the definition of FitIns (see https://stackoverflow.com/questions/73603289/why-doesnt-parameter-type-dictstr-unionstr-int-accept-value-of-type-di) as for the
Let me know if I need to fix these too. |
For
after importing For the |
Done, |
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.
Hi @Crabzmatic,
I have left a couple of comments. The main one is regarding how you define strategies: I think it would be better if you build them on top of the native FedAvg
(there will be less code and will make them easier to maintain in the long term). Let me know if you have any doubts on how to do this. At least your implementation of FedAvg
should be fairly straightforward to implement using the native one and passing the on_fit_config
and evaluate_fn
arguments to it. Let me know what you think!
I think after that we can start wrapping this up and start the process of merging your baseline with Flower's main
branch 🙌
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.
Hi @Crabzmatic,
Just small comment. I think this looks ready to merge.
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.
Hi @Crabzmatic,
Your baseline is ready to be merged. Just a couple of suggestions before going ahead:
- Let's not make use of
client_device
passed from the config to the functions that return client objects. Instead, you can let it be "discovered" (as suggested) based on theclient_resources
passed tostart_simulation
. It works fine. All but one suggestion below refer to this. you might need to re-run the formatting checks afterwards. - Small change is needed to the
authors
field in thepyproject.toml
.
Ping me once done, then we can merge Tamuna
.
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.
@Crabzmatic, this looks great! merging...
Implementation for #2033.