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 FedBN Implementation on NVFlare research folder - a local batch normalization federated learning method #2524
Conversation
can you add description so we know what this PR is about ? |
research/fedbn/custom/pt/learners/cifar10_scaffold_model_learner.py
Outdated
Show resolved
Hide resolved
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.
This PR request quite some of changes.
It seems to be the author simply copied some of the examples and put all the files into this PR, even most of them are not even used or needed.
I think it might be better to reference to ML2FL or step-by-step/cifar10 examples for the Client side training using Client API and the server side use BaseFedAvg as base.
Also leverage nvflare job CLI to update job config rather write python files.
delete un-used files, and avoid copy the files in FLARE src files.
Here is a PR using Client API on the client side, and BaseFedAvg API on the server side you can probably reference :
/build |
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.
Overall looks good, thank you for your contribution.
I add few minor suggestion, but its not critical, its update to you to change or not.
Head branch was pushed to by a user without write access
9d7fac5
/build |
Hi @MinghuiChen43 could you try signing your commits (setting up some keys etc. in your local machine)? We have this requirement for our repo. See instruction below: The base branch requires all commits to be signed. Learn more about signing commits. Thanks! |
* clean up to allow creation of nvflare light * move defs to cellnet
I have signed my recent commits. Do I need to have all my commits verified? It might be difficult to go back and sign the previous commits. |
/build
Yes we do need to have all signed, I think we can squash the commits in that case, @YuanTingHsieh any suggestions on this? |
I used the command git rebase --exec 'git commit --amend --no-edit -n -S' -i xxx to sign old commits, as suggested in an answer I found (https://superuser.com/questions/397149/can-you-gpg-sign-old-commits). Every commit seemed to be verified successfully, but I failed to verify the initial commit. I'm wondering if there is anything inappropriate about my approach and how I can fix the issue with verifying the initial commit. |
@chesterxgchen , we have some issue with signing requirements, ccould you merge it? |
/build |
@MinghuiChen43 @ZiyueXu77 in this case, we can only force merge, or rebase the whole commit into one and sign that specific one. But no worries, I just merge it, thanks for the effort! |
Fixes # .
Description
Implementation of FedBN (https://arxiv.org/pdf/2102.07623.pdf) - local batch normalization with NVFlare
Types of changes
./runtest.sh
.