MCPcopy Create free account
hub / github.com/apache/singa / AlexNet

Class AlexNet

examples/singa_peft/examples/model/alexnet.py:24–101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22
23
24class AlexNet(model.Model):
25
26 def __init__(self, num_classes=10, num_channels=1):
27 super(AlexNet, self).__init__()
28 self.num_classes = num_classes
29 self.input_size = 224
30 self.dimension = 4
31 self.conv1 = layer.Conv2d(num_channels, 64, 11, stride=4, padding=2)
32 self.conv2 = layer.Conv2d(64, 192, 5, padding=2)
33 self.conv3 = layer.Conv2d(192, 384, 3, padding=1)
34 self.conv4 = layer.Conv2d(384, 256, 3, padding=1)
35 self.conv5 = layer.Conv2d(256, 256, 3, padding=1)
36 self.linear1 = layer.Linear(4096)
37 self.linear2 = layer.Linear(4096)
38 self.linear3 = layer.Linear(num_classes)
39 self.pooling1 = layer.MaxPool2d(2, 2, padding=0)
40 self.pooling2 = layer.MaxPool2d(2, 2, padding=0)
41 self.pooling3 = layer.MaxPool2d(2, 2, padding=0)
42 self.avg_pooling1 = layer.AvgPool2d(3, 2, padding=0)
43 self.relu1 = layer.ReLU()
44 self.relu2 = layer.ReLU()
45 self.relu3 = layer.ReLU()
46 self.relu4 = layer.ReLU()
47 self.relu5 = layer.ReLU()
48 self.relu6 = layer.ReLU()
49 self.relu7 = layer.ReLU()
50 self.flatten = layer.Flatten()
51 self.dropout1 = layer.Dropout()
52 self.dropout2 = layer.Dropout()
53 self.softmax_cross_entropy = layer.SoftMaxCrossEntropy()
54
55 def forward(self, x):
56 y = self.conv1(x)
57 y = self.relu1(y)
58 y = self.pooling1(y)
59 y = self.conv2(y)
60 y = self.relu2(y)
61 y = self.pooling2(y)
62 y = self.conv3(y)
63 y = self.relu3(y)
64 y = self.conv4(y)
65 y = self.relu4(y)
66 y = self.conv5(y)
67 y = self.relu5(y)
68 y = self.pooling3(y)
69 y = self.avg_pooling1(y)
70 y = self.flatten(y)
71 y = self.dropout1(y)
72 y = self.linear1(y)
73 y = self.relu6(y)
74 y = self.dropout2(y)
75 y = self.linear2(y)
76 y = self.relu7(y)
77 y = self.linear3(y)
78 return y
79
80 def train_one_batch(self, x, y, dist_option, spars):
81 out = self.forward(x)

Callers 1

create_modelFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected