MCPcopy Create free account
hub / github.com/VCIP-RGBD/DFormer / __init__

Method __init__

models/builder.py:61–198  ·  view source on GitHub ↗
(
        self,
        cfg=None,
        criterion=nn.CrossEntropyLoss(reduction="none", ignore_index=255),
        norm_layer=nn.BatchNorm2d,
        syncbn=False,
    )

Source from the content-addressed store, hash-verified

59
60class EncoderDecoder(nn.Module):
61 def __init__(
62 self,
63 cfg=None,
64 criterion=nn.CrossEntropyLoss(reduction="none", ignore_index=255),
65 norm_layer=nn.BatchNorm2d,
66 syncbn=False,
67 ):
68 super(EncoderDecoder, self).__init__()
69 self.norm_layer = norm_layer
70 self.cfg = cfg
71
72 if cfg.backbone == "DFormer-Large":
73 from .encoders.DFormer import DFormer_Large as backbone
74
75 self.channels = [96, 192, 288, 576]
76 elif cfg.backbone == "DFormer-Base":
77 from .encoders.DFormer import DFormer_Base as backbone
78
79 self.channels = [64, 128, 256, 512]
80 elif cfg.backbone == "DFormer-Small":
81 from .encoders.DFormer import DFormer_Small as backbone
82
83 self.channels = [64, 128, 256, 512]
84 elif cfg.backbone == "DFormer-Tiny":
85 from .encoders.DFormer import DFormer_Tiny as backbone
86
87 self.channels = [32, 64, 128, 256]
88
89 elif cfg.backbone == "DFormerv2_L":
90 from .encoders.DFormerv2 import DFormerv2_L as backbone
91
92 self.channels = [112, 224, 448, 640]
93 elif cfg.backbone == "DFormerv2_B":
94 from .encoders.DFormerv2 import DFormerv2_B as backbone
95
96 self.channels = [80, 160, 320, 512]
97 elif cfg.backbone == "DFormerv2_S":
98 from .encoders.DFormerv2 import DFormerv2_S as backbone
99
100 self.channels = [64, 128, 256, 512]
101 else:
102 raise NotImplementedError
103
104 if syncbn:
105 norm_cfg = dict(type="SyncBN", requires_grad=True)
106 else:
107 norm_cfg = dict(type="BN", requires_grad=True)
108
109 if cfg.drop_path_rate is not None:
110 self.backbone = backbone(drop_path_rate=cfg.drop_path_rate, norm_cfg=norm_cfg)
111 else:
112 self.backbone = backbone(drop_path_rate=0.1, norm_cfg=norm_cfg)
113
114 self.aux_head = None
115
116 if cfg.decoder == "MLPDecoder":
117 logger.info("Using MLP Decoder")
118 from .decoders.MLPDecoder import DecoderHead

Callers

nothing calls this directly

Calls 4

init_weightsMethod · 0.95
DecoderHeadClass · 0.50
FCNHeadClass · 0.50
UPerHeadClass · 0.50

Tested by

no test coverage detected