MCPcopy Create free account
hub / github.com/MotrixLab/AiOS / _make_stem_layer

Method _make_stem_layer

detrsmpl/models/backbones/resnet.py:539–582  ·  view source on GitHub ↗
(self, in_channels, stem_channels)

Source from the content-addressed store, hash-verified

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:

Callers 1

__init__Method · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected