| 227 | m.bias.data.zero_() |
| 228 | |
| 229 | def _make_layer(self, block, planes, blocks, stride=1): |
| 230 | downsample = None |
| 231 | if stride != 1 or self.inplanes != planes * block.expansion: |
| 232 | downsample = nn.Sequential( |
| 233 | nn.Conv2d(self.inplanes, planes * block.expansion, |
| 234 | kernel_size=1, stride=stride, bias=False), |
| 235 | nn.BatchNorm2d(planes * block.expansion), |
| 236 | ) |
| 237 | |
| 238 | layers = [] |
| 239 | layers.append(block(self.inplanes, planes, stride, downsample)) |
| 240 | self.inplanes = planes * block.expansion |
| 241 | for i in range(1, blocks): |
| 242 | layers.append(block(self.inplanes, planes)) |
| 243 | |
| 244 | return nn.Sequential(*layers) |
| 245 | |
| 246 | def forward(self, x): |
| 247 | x = self.conv1(x) |