-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmpi.py
More file actions
64 lines (52 loc) · 1.67 KB
/
mpi.py
File metadata and controls
64 lines (52 loc) · 1.67 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import torch
import torch.nn as nn
from mpi4py import MPI
import numpy as np
def mlp(sizes, activation, output_activation=nn.Identity):
layers = []
for j in range(len(sizes)-1):
act = activation if j < len(sizes)-2 else output_activation
layers += [nn.Linear(sizes[j], sizes[j+1]), act()]
return nn.Sequential(*layers)
class Person:
def __init__(self):
self.base = 10
def greeting(self):
print('안녕하세요.')
class Gauss:
def __init__(self, rms_dict):
print('Gauss', rms_dict)
self.rms_dict = rms_dict
def check(self):
print('Check Gauss', self.rms_dict)
def update(self):
print('Update Gauss')
self.rms_dict['sum'] = self.rms_dict['sum'] + torch.tensor([1000.])
self.rms_dict['count'] = self.rms_dict['count'] + torch.tensor([1000.])
class Student(Person):
def __init__(self):
super().__init__()
self.rms_sum = torch.tensor([1.])
self.rms_count = torch.tensor([2.])
self.rms_dict = {'sum': self.rms_sum, 'count': self.rms_count}
self.pi = Gauss(self.rms_dict)
def check(self):
print('Check Student', self.rms_dict)
print('id', id(self.rms_dict['sum']))
print('id', id(self.rms_sum))
def update(self):
print('Update Student')
self.rms_sum = self.rms_sum+ torch.tensor([100.])
self.rms_count = self.rms_count + torch.tensor([100.])
def main():
james = Student()
james.check()
james.pi.check()
james.update()
james.check()
james.pi.check()
james.pi.update()
james.check()
james.pi.check()
if __name__ == '__main__':
main()