OpenMined / KotlinSyft

The official Syft worker for secure on-device machine learning
https://www.openmined.org
Apache License 2.0
85 stars 28 forks source link

Accuracy is 0 when trained on two clients #292

Closed mustansarsaeed closed 3 years ago

mustansarsaeed commented 3 years ago

Question

Hi . I am in a strange issue. I have simple model:

class SyntheticNet(nn.Module):
    def __init__(self):
        super(SyntheticNet, self).__init__()
        self.fc1 = nn.Linear(60, 5)

    def forward(self, x):
        x = self.fc1(x)
        x = nn.functional.relu(x)
        return x

When I train on single client it reaches to accuracy 90% in first 2-3 rounds. When I train the same model on 2 clients that accuracy is near to 0.

Can it be the case that we are setting model parameters in training_plan and one client's model parameters are overriden by other client's parameter that's why accuracy is not improving?

vkkhare commented 3 years ago

Is this sorted @mustansarsaeed ? I think we discussed this on slack

mustansarsaeed commented 3 years ago

Thanks @vkkhare . Yes, it got fixed. There were some other issues as well during the averaging.