Open jafermarq opened 1 year ago
Hi @jafermarq! I would like to work towards contributing FedSMOO
to flower baselines.
FedSMOO
Algorithm for ResNet18 with GroupNorm Layers, using the SAM objective proposed in the paper (Algorithm 1)FedAvg
, FedAdam
, SCAFFOLD
, FedCM
, FedDyn
, FedSAM
, and MoFedSAM
results. (Table 1)Looking forward to working on this!
Hi @kumar-devesh , it's great to hear you want to participate in the Flower Summer of Reproducibility implementing FedSMOO
. Your contribution plan is very ambitious! Are you sure that, with the time remaining for this initiative (it ends at the end of September) and the compute (i.e. GPUs) resources you have available, you can reproduce not only the FedSMOO
rows in Table 1 but also those of the other methods you mention?
Might not be able to reproduce experiments for all but I would be able to run experiments for methods for which there is an open-sourced implementation like FedSAM
and FedDyn
. Compute resources should not be a problem @jafermarq.
@kumar-devesh, how about reducing the list of methods to FedAvg
and FedDyn
(but bear in mind it should be implemented with Flower and integrated with the rest of your codebase)? FedAvg
is more like a reference (and that works better than FedAdam
in Table 1) and FedDyn
is a competitive baseline close to the proposed FedSMOO
method.
Thanks for your suggestion @jafermarq, this sounds doable.
ok. Happy to have you then implementing FedSMOO
with Flower. I have now β
all points in Step 1 & 2 above, adde you as the assignee to this GitHub issue and moved your baseline to In Progress stage. You can find how to start with the code following the link shown in the What happens next? section above. Please note that the code should follow the structure of the template directory we provided (as described in the guide). Also, the Flower Summer of Reproducibility runs until the end of September so you are advised to start with your codebase and then experiments to reproduce the results as soon as possible. You are very welcome to reach out to me and other contributors via our Slack if you have some questions or suggestions on how to improve things.
Looking forward to seeing your FedSMOO
implementation with Flower!
Hi @kumar-devesh,
This is just a gentle reminder that the Flower Summer of Reproducibility is ending at the end of the month. With just a little more than 3 weeks to go, we are excited to see quite a few baselines well ahead in the process with their respective PRs close to ready. If your PR is already on the list, great !! Please make sure the PR is linked to this issue (you just need to copy the URL of this issue somewhere in the main message of your PR). Ping me when you'd like me to take a look.
Also, make sure you keep an eye:eyes: on the #summer-of-reproducibility channel in the Flower Slack. Iβll announce very soon a new (the third!) round of 1:1 ask-me-anything sessions to help Summer of Reproducibility contributors like yourself to meet the deadline. Please consider booking a time slot if you want to chat with me about your baseline, potential issues you have making your code run, how to open a PR, doubts about what to include in your readme, how to use Hydra configs more effective, etc β¦ all questions are welcome!!
FedSMOO
Do you want to work on this baseline?
What follows are the steps 1 & 2 in the Summer of Reproducibility instructions.
1. Join the Summer of Reproducibility program
#summer-of-reproducibility
.2. Define the scope of your contribution
[x] Check if you are eligible for a reward.
If where you are based is not on the list, please send us an email (
summer@flower.dev
) letting us know a bit about yourself (where are you currently based?, are you a university student? do you work at a public institution?). Please tell us the baselines you are interested in implementing (i.e. tell us your GitHub issue if you have crated one). We will reach back to you.What happens next?
[x] This item will be moved to the
In Progress
stage by a member of the Flower Team.[ ] Follow the instructions for creating a new baseline which will guide you through the process step-by-step.
Is something wrong or not clear ?