MCPcopy Create free account
hub / github.com/alinlab/SelfPatch / _make_stem_layer

Method _make_stem_layer

segmentation/backbones/resnet.py:591–638  ·  view source on GitHub ↗

Make stem layer for ResNet.

(self, in_channels, stem_channels)

Source from the content-addressed store, hash-verified

589 return getattr(self, self.norm1_name)
590
591 def _make_stem_layer(self, in_channels, stem_channels):
592 """Make stem layer for ResNet."""
593 if self.deep_stem:
594 self.stem = nn.Sequential(
595 build_conv_layer(
596 self.conv_cfg,
597 in_channels,
598 stem_channels // 2,
599 kernel_size=3,
600 stride=2,
601 padding=1,
602 bias=False),
603 build_norm_layer(self.norm_cfg, stem_channels // 2)[1],
604 nn.ReLU(inplace=True),
605 build_conv_layer(
606 self.conv_cfg,
607 stem_channels // 2,
608 stem_channels // 2,
609 kernel_size=3,
610 stride=1,
611 padding=1,
612 bias=False),
613 build_norm_layer(self.norm_cfg, stem_channels // 2)[1],
614 nn.ReLU(inplace=True),
615 build_conv_layer(
616 self.conv_cfg,
617 stem_channels // 2,
618 stem_channels,
619 kernel_size=3,
620 stride=1,
621 padding=1,
622 bias=False),
623 build_norm_layer(self.norm_cfg, stem_channels)[1],
624 nn.ReLU(inplace=True))
625 else:
626 self.conv1 = build_conv_layer(
627 self.conv_cfg,
628 in_channels,
629 stem_channels,
630 kernel_size=7,
631 stride=2,
632 padding=3,
633 bias=False)
634 self.norm1_name, norm1 = build_norm_layer(
635 self.norm_cfg, stem_channels, postfix=1)
636 self.add_module(self.norm1_name, norm1)
637 self.relu = nn.ReLU(inplace=True)
638 self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)
639
640 def _freeze_stages(self):
641 """Freeze stages param and norm stats."""

Callers 1

__init__Method · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected