(self, block, layers, num_classes=10, num_channels=3)
| 129 | class ResNet(model.Model): |
| 130 | |
| 131 | def __init__(self, block, layers, num_classes=10, num_channels=3): |
| 132 | self.inplanes = 64 |
| 133 | super(ResNet, self).__init__() |
| 134 | self.num_classes = num_classes |
| 135 | self.input_size = 224 |
| 136 | self.dimension = 4 |
| 137 | self.conv1 = layer.Conv2d(num_channels, |
| 138 | 64, |
| 139 | 7, |
| 140 | stride=2, |
| 141 | padding=3, |
| 142 | bias=False) |
| 143 | self.bn1 = layer.BatchNorm2d(64) |
| 144 | self.relu = layer.ReLU() |
| 145 | self.maxpool = layer.MaxPool2d(kernel_size=3, stride=2, padding=1) |
| 146 | self.layer1, layers1 = self._make_layer(block, 64, layers[0]) |
| 147 | self.layer2, layers2 = self._make_layer(block, 128, layers[1], stride=2) |
| 148 | self.layer3, layers3 = self._make_layer(block, 256, layers[2], stride=2) |
| 149 | self.layer4, layers4 = self._make_layer(block, 512, layers[3], stride=2) |
| 150 | self.avgpool = layer.AvgPool2d(7, stride=1) |
| 151 | self.flatten = layer.Flatten() |
| 152 | self.fc = layer.Linear(num_classes) |
| 153 | self.softmax_cross_entropy = layer.SoftMaxCrossEntropy() |
| 154 | |
| 155 | self.register_layers(*layers1, *layers2, *layers3, *layers4) |
| 156 | |
| 157 | def _make_layer(self, block, planes, blocks, stride=1): |
| 158 | downsample = None |
no test coverage detected