(self)
| 60 | |
| 61 | class Heavy_Classifier(torch.nn.Module): |
| 62 | def __init__(self): |
| 63 | super(Heavy_Classifier, self).__init__() |
| 64 | self.conv1 = self.conv_block(c_in = 3, c_out = 25, kernel_size = 7, stride = 1, padding = 1) |
| 65 | self.conv2 = self.conv_block(c_in = 25, c_out = 40, kernel_size = 5, stride = 1, padding = 1) |
| 66 | self.conv3 = self.conv_block(c_in = 40, c_out = 40, kernel_size = 5, stride = 1, padding = 1) |
| 67 | self.conv4 = self.conv_block(c_in = 40, c_out = 25, kernel_size = 3, stride = 1, padding = 1) |
| 68 | self.conv5 = self.conv_block(c_in = 25, c_out = 25, kernel_size = 3, stride = 1, padding = 1) |
| 69 | self.conv6 = self.conv_block(c_in = 25, c_out = 3, kernel_size = 3, stride = 1, padding = 1) |
| 70 | # 28px --> ??? |
| 71 | # 32px --> 3 |
| 72 | # 100px --> 48 (heavy) |
| 73 | self.bigN = 3 |
| 74 | self.fc1 = nn.Linear(self.bigN, 64) |
| 75 | self.fc2 = nn.Linear(64, 9) |
| 76 | self.fc3 = nn.Linear(9, 2) |
| 77 | self.maxpool = nn.MaxPool2d(kernel_size=2, stride=2) |
| 78 | |
| 79 | def conv_block(self, c_in, c_out, dropout=0.1, kernel_size=3, stride=1, **kwargs): |
| 80 | seq_block = nn.Sequential( |
nothing calls this directly
no test coverage detected