-
-
Notifications
You must be signed in to change notification settings - Fork 51
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
Dual-Headed SplitNN Config1 and Config2 #68
base: master
Are you sure you want to change the base?
Conversation
Check out this pull request on Review Jupyter notebook visual diffs & provide feedback on notebooks. Powered by ReviewNB |
"model_locations = [client_1, client_2, server, label_owner]\n", | ||
"\n", | ||
"#Split each image and send one part to client_1, and other to client_2\n", | ||
"distributed_trainloader = Distribute_MNIST(data_owners=data_owners, data_loader=trainloader)" |
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.
For the case where images go to one worker and labels to another, we have implemented the vertically_federate
method of a PartitionedDataset
(https://github.com/OpenMined/PyVertical/blob/master/src/future/dataset.py#L219).
Could you change this to use that class?
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.
Actually, the image is split into two parts, that are sent to client_1 and client_2. and label_owner has labels.
PyVertical/src/future/dataset.py
Line 194 in 5f3f9c1
one takes the data and the other takes the targets |
I don't think this supports the case.
Would you like me to write a new method for splitting the image in
PartitionedDataset
among two workers?
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.
yes please
"model_locations = [client_1, client_2, server]\n", | ||
"\n", | ||
"#Split each image and send one part to client_1, and other to client_2\n", | ||
"distributed_trainloader = Distribute_MNIST(data_owners=data_owners, data_loader=trainloader)" |
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.
Same comment as on the other notebook
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.
same for this.
Description
Added two configurations of splitNN for vertically partitioned data.
Config-1: Server has image labels.
Config-2: A worker named label_owner has image labels (U-shaped).
Affected Dependencies
None
Checklist