MCPcopy Create free account
hub / github.com/OpenGVLab/HumanBench / __init__

Method __init__

PATH/core/models/necks/simple_fpn.py:708–764  ·  view source on GitHub ↗
(self,
                 vis_token_dim,
                 mask_dim,
                 num_feature_levels,
                 backbone,  # placeholder
                 bn_group,
                 activation='gelu',
                 pixel_decoder_cfg=None)

Source from the content-addressed store, hash-verified

706
707class PedDetAlignedFPN(SimpleFPN):
708 def __init__(self,
709 vis_token_dim,
710 mask_dim,
711 num_feature_levels,
712 backbone, # placeholder
713 bn_group,
714 activation='gelu',
715 pixel_decoder_cfg=None):
716 super(SimpleFPN, self).__init__()
717 self.embed_dim = backbone.embed_dim
718 self.vis_token_dim = vis_token_dim
719 self.pixel_decoder_cfg = pixel_decoder_cfg
720 self.backbone = [backbone]
721 self.pos_mode = backbone.test_pos_mode
722
723 fpn1 = nn.Sequential(
724 nn.ConvTranspose2d(self.embed_dim, self.embed_dim // 2, kernel_size=2, stride=2),
725 Norm2d(self.embed_dim // 2),
726 _get_activation(activation),
727 nn.ConvTranspose2d(self.embed_dim // 2, self.embed_dim // 4, kernel_size=2, stride=2),
728 # in compliance with decoder dim request
729 Conv2d(self.embed_dim // 4, self.vis_token_dim,
730 kernel_size=1, bias=False, norm=Norm2d(self.vis_token_dim)),
731 Conv2d(self.vis_token_dim, self.vis_token_dim,
732 kernel_size=3, padding=1, bias=False, norm=Norm2d(self.vis_token_dim)),
733 )
734
735 fpn2 = nn.Sequential(
736 nn.ConvTranspose2d(self.embed_dim, self.embed_dim // 2, kernel_size=2, stride=2),
737 # in compliance with decoder dim request
738 Conv2d(self.embed_dim // 2, self.vis_token_dim,
739 kernel_size=1, bias=False, norm=Norm2d(self.vis_token_dim)),
740 Conv2d(self.vis_token_dim, self.vis_token_dim,
741 kernel_size=3, padding=1, bias=False, norm=Norm2d(self.vis_token_dim)),
742 )
743
744 fpn3 = nn.Sequential(
745 # in compliance with decoder dim request
746 Conv2d(self.embed_dim, self.vis_token_dim,
747 kernel_size=1, bias=False, norm=Norm2d(self.vis_token_dim)),
748 Conv2d(self.vis_token_dim, self.vis_token_dim,
749 kernel_size=3, padding=1, bias=False, norm=Norm2d(self.vis_token_dim)),
750 )
751
752 fpn4 = nn.Sequential(
753 nn.MaxPool2d(kernel_size=2, stride=2),
754 # in compliance with decoder dim request
755 Conv2d(self.embed_dim, self.vis_token_dim,
756 kernel_size=1, bias=False, norm=Norm2d(self.vis_token_dim)),
757 Conv2d(self.vis_token_dim, self.vis_token_dim,
758 kernel_size=3, padding=1, bias=False, norm=Norm2d(self.vis_token_dim)),
759 )
760
761 self.fpns = nn.ModuleList([fpn1, fpn2, fpn3, fpn4])
762
763 assert self.pixel_decoder_cfg is None
764 self.maskformer_num_feature_levels = num_feature_levels # always use 3 scales
765

Callers

nothing calls this directly

Calls 4

Norm2dClass · 0.70
_get_activationFunction · 0.70
Conv2dClass · 0.70
__init__Method · 0.45

Tested by

no test coverage detected