-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
29 lines (24 loc) · 1003 Bytes
/
main.py
File metadata and controls
29 lines (24 loc) · 1003 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import torch
from torchvision import datasets, transforms
from my_net import *
from worker import *
from parameter_server import *
train_loader = torch.utils.data.DataLoader(datasets.MNIST('./mnist_data', download=True, train=True,
transform = transforms.Compose([transforms.ToTensor(),
transforms.Normalize((0.1307,),(0.3081,))])),
batch_size=128, shuffle=True)
test_loader = torch.utils.data.DataLoader(datasets.MNIST('./mnist_data', download=True, train=False,
transform = transforms.Compose([transforms.ToTensor(),
transforms.Normalize((0.1307,),(0.3081,))])),
batch_size=128, shuffle=True)
def main():
ps = ParameterServer()
worker = Worker()
for batch_idx, (data, target) in enumerate(train_loader):
params = ps.get_weights()
worker.pull_weights(params)
grads = worker.push_gradients(batch_idx, data, target)
ps.update_model(grads)
print("Done Training")
if __name__ == '__main__':
main()