-
Notifications
You must be signed in to change notification settings - Fork 207
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
Adding Workflow Interface FedProx Example with Synthetic Dataset #734
base: develop
Are you sure you want to change the base?
Adding Workflow Interface FedProx Example with Synthetic Dataset #734
Conversation
d39ae96
to
cbafbad
Compare
3d30091
to
a58b569
Compare
e3b6800
to
25073b8
Compare
Signed-off-by: ParthM-GitHub <[email protected]>
1. 10 Selected Collaborators, 30 Total Collaborators, with 200 Rounds (FedProx vs FedAvg) 2. 20 Selected Collaborators, 100 Total Collaborators, with 200 Rounds (FedProx vs FedAvg) 3. 10 Selected Collaborators, 30 Total Collaborators, with 200 Rounds (FedProx vs FedAvg) Tested on Google Colab Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Made changes required to run the example with numpy 1.24.x version. Signed-off-by: ParthM-GitHub <[email protected]>
Change github Python badge's Signed-off-by: Alexey Gruzdev <[email protected]> Signed-off-by: ParthM-GitHub <[email protected]>
Picture for the Contributing.md Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: Patrick Foley <[email protected]> Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
* Fix variable name Signed-off-by: Ilya Trushkin <[email protected]> * Use CONTINUE_GLOBAL treatment in FedProx tutorial Signed-off-by: Ilya Trushkin <[email protected]> --------- Signed-off-by: Ilya Trushkin <[email protected]> Signed-off-by: ParthM-GitHub <[email protected]>
42d746d
to
28c90a4
Compare
" This is the 'end' step.\n", | ||
" \"\"\"\n", | ||
" self.round_number += 1\n", | ||
" print('This is end of the flow')" |
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 print statement is misleading because it gets printed after every round. Let's pass total_rounds
to federated flow and print this condition once at the end of the flow.
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.
Incorporated
" return accuracy, test_loss, correct\n", | ||
"\n", | ||
"\n", | ||
"def weighted_average(tensors, weights):\n", |
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.
I propose that we create openfl.experimental.interface.aggregation_functions
and move this function there.
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.
Incorporated
"source": [ | ||
"!pip install git+https://github.com/intel/openfl.git\n", | ||
"!pip install -r https://raw.githubusercontent.com/intel/openfl/develop/openfl-tutorials/experimental/requirements_workflow_interface.txt\n", | ||
"!pip install matplotlib\n", |
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.
!pip install seaborn is missing
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.
Incorporated
1. Converted flow to internal loop flow 2. Added seaborn library install command Signed-off-by: ParthM-GitHub <[email protected]>
1. PyTorch: openfl/experimental/interface/keras/aggregation_functions/weighted_average.py 2. Keras: openfl/experimental/interface/keras/aggregation_functions/weighted_average.py (with NotImplementedError) 3. PyTorch Weighted average testcase in tests/openfl/experimental/test_weighted_average.py Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: ParthM-GitHub <[email protected]>
Signed-off-by: Parth Mandaliya <[email protected]>
Signed-off-by: Parth Mandaliya <[email protected]>
Signed-off-by: Parth Mandaliya <[email protected]>
@ParthMandaliya can you please resolve the comments/conflicts and request for review again? |
@theakshaypant This 401 FedProx tutorial has already been merged via a different PR, and is available under openfl-tutorials/experimental/workflow directory. cc: @ishant162 |
DESCRIPTION:
Workflow Interface Tutorial for FedProx with Synthetic non-IID Dataset.
SUMMARY:
Validated the Tutorial for following scenarios:
Executed for 30 Total Collaborators, 10 Selected Collaborators, non-IID, and 200 Rounds
Executed for 100 Total Collaborators, 20 Selected Collaborators, non-IID, and 200 Rounds
Executed for 30 Total Collaborators, 10 Selected Collaborators, IID, and 200 Rounds
Validated in Google Collab