| 537 | return getattr(self, self.norm1_name) |
| 538 | |
| 539 | def _make_stem_layer(self, in_channels, stem_channels): |
| 540 | if self.deep_stem: |
| 541 | self.stem = nn.Sequential( |
| 542 | build_conv_layer(self.conv_cfg, |
| 543 | in_channels, |
| 544 | stem_channels // 2, |
| 545 | kernel_size=3, |
| 546 | stride=2, |
| 547 | padding=1, |
| 548 | bias=False), |
| 549 | build_norm_layer(self.norm_cfg, stem_channels // 2)[1], |
| 550 | nn.ReLU(inplace=True), |
| 551 | build_conv_layer(self.conv_cfg, |
| 552 | stem_channels // 2, |
| 553 | stem_channels // 2, |
| 554 | kernel_size=3, |
| 555 | stride=1, |
| 556 | padding=1, |
| 557 | bias=False), |
| 558 | build_norm_layer(self.norm_cfg, stem_channels // 2)[1], |
| 559 | nn.ReLU(inplace=True), |
| 560 | build_conv_layer(self.conv_cfg, |
| 561 | stem_channels // 2, |
| 562 | stem_channels, |
| 563 | kernel_size=3, |
| 564 | stride=1, |
| 565 | padding=1, |
| 566 | bias=False), |
| 567 | build_norm_layer(self.norm_cfg, stem_channels)[1], |
| 568 | nn.ReLU(inplace=True)) |
| 569 | else: |
| 570 | self.conv1 = build_conv_layer(self.conv_cfg, |
| 571 | in_channels, |
| 572 | stem_channels, |
| 573 | kernel_size=7, |
| 574 | stride=2, |
| 575 | padding=3, |
| 576 | bias=False) |
| 577 | self.norm1_name, norm1 = build_norm_layer(self.norm_cfg, |
| 578 | stem_channels, |
| 579 | postfix=1) |
| 580 | self.add_module(self.norm1_name, norm1) |
| 581 | self.relu = nn.ReLU(inplace=True) |
| 582 | self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1) |
| 583 | |
| 584 | def _freeze_stages(self): |
| 585 | if self.frozen_stages >= 0: |