(self, input_channel, output_channel, block, layers)
| 152 | |
| 153 | class ResNet(nn.Module): |
| 154 | def __init__(self, input_channel, output_channel, block, layers): |
| 155 | super(ResNet, self).__init__() |
| 156 | |
| 157 | self.output_channel_block = [int(output_channel / 4), int(output_channel / 2), output_channel, output_channel] |
| 158 | |
| 159 | self.inplanes = int(output_channel / 8) |
| 160 | self.conv0_1 = nn.Conv2d(input_channel, int(output_channel / 16), |
| 161 | kernel_size=3, stride=1, padding=1, bias=False) |
| 162 | self.bn0_1 = nn.BatchNorm2d(int(output_channel / 16)) |
| 163 | self.conv0_2 = nn.Conv2d(int(output_channel / 16), self.inplanes, |
| 164 | kernel_size=3, stride=1, padding=1, bias=False) |
| 165 | self.bn0_2 = nn.BatchNorm2d(self.inplanes) |
| 166 | self.relu = nn.ReLU(inplace=True) |
| 167 | |
| 168 | self.maxpool1 = nn.MaxPool2d(kernel_size=2, stride=2, padding=0) |
| 169 | self.layer1 = self._make_layer(block, self.output_channel_block[0], layers[0]) |
| 170 | self.conv1 = nn.Conv2d(self.output_channel_block[0], self.output_channel_block[ |
| 171 | 0], kernel_size=3, stride=1, padding=1, bias=False) |
| 172 | self.bn1 = nn.BatchNorm2d(self.output_channel_block[0]) |
| 173 | |
| 174 | self.maxpool2 = nn.MaxPool2d(kernel_size=2, stride=2, padding=0) |
| 175 | self.layer2 = self._make_layer(block, self.output_channel_block[1], layers[1], stride=1) |
| 176 | self.conv2 = nn.Conv2d(self.output_channel_block[1], self.output_channel_block[ |
| 177 | 1], kernel_size=3, stride=1, padding=1, bias=False) |
| 178 | self.bn2 = nn.BatchNorm2d(self.output_channel_block[1]) |
| 179 | |
| 180 | self.maxpool3 = nn.MaxPool2d(kernel_size=2, stride=(2, 1), padding=(0, 1)) |
| 181 | self.layer3 = self._make_layer(block, self.output_channel_block[2], layers[2], stride=1) |
| 182 | self.conv3 = nn.Conv2d(self.output_channel_block[2], self.output_channel_block[ |
| 183 | 2], kernel_size=3, stride=1, padding=1, bias=False) |
| 184 | self.bn3 = nn.BatchNorm2d(self.output_channel_block[2]) |
| 185 | |
| 186 | self.layer4 = self._make_layer(block, self.output_channel_block[3], layers[3], stride=1) |
| 187 | self.conv4_1 = nn.Conv2d(self.output_channel_block[3], self.output_channel_block[ |
| 188 | 3], kernel_size=2, stride=(2, 1), padding=(0, 1), bias=False) |
| 189 | self.bn4_1 = nn.BatchNorm2d(self.output_channel_block[3]) |
| 190 | self.conv4_2 = nn.Conv2d(self.output_channel_block[3], self.output_channel_block[ |
| 191 | 3], kernel_size=2, stride=1, padding=0, bias=False) |
| 192 | self.bn4_2 = nn.BatchNorm2d(self.output_channel_block[3]) |
| 193 | |
| 194 | def _make_layer(self, block, planes, blocks, stride=1): |
| 195 | downsample = None |
nothing calls this directly
no test coverage detected