MCPcopy Create free account
hub / github.com/UX-Decoder/Semantic-SAM / __init__

Method __init__

semantic_sam/backbone/focal_dw.py:132–166  ·  view source on GitHub ↗
(self, dim, mlp_ratio=4., drop=0., drop_path=0., 
                 act_layer=nn.GELU, norm_layer=nn.LayerNorm,
                 focal_level=2, focal_window=9, 
                 use_postln=False, use_postln_in_modulation=False,
                 scaling_modulator=False, 
                 use_layerscale=False, 
                 layerscale_value=1e-4)

Source from the content-addressed store, hash-verified

130 """
131
132 def __init__(self, dim, mlp_ratio=4., drop=0., drop_path=0.,
133 act_layer=nn.GELU, norm_layer=nn.LayerNorm,
134 focal_level=2, focal_window=9,
135 use_postln=False, use_postln_in_modulation=False,
136 scaling_modulator=False,
137 use_layerscale=False,
138 layerscale_value=1e-4):
139 super().__init__()
140 self.dim = dim
141 self.mlp_ratio = mlp_ratio
142 self.focal_window = focal_window
143 self.focal_level = focal_level
144 self.use_postln = use_postln
145 self.use_layerscale = use_layerscale
146
147 self.dw1 = nn.Conv2d(dim, dim, kernel_size=3, stride=1, padding=1, groups=dim)
148 self.norm1 = norm_layer(dim)
149 self.modulation = FocalModulation(
150 dim, focal_window=self.focal_window, focal_level=self.focal_level, proj_drop=drop, use_postln_in_modulation=use_postln_in_modulation, scaling_modulator=scaling_modulator
151 )
152
153 self.dw2 = nn.Conv2d(dim, dim, kernel_size=3, stride=1, padding=1, groups=dim)
154 self.drop_path = DropPath(drop_path) if drop_path > 0. else nn.Identity()
155 self.norm2 = norm_layer(dim)
156 mlp_hidden_dim = int(dim * mlp_ratio)
157 self.mlp = Mlp(in_features=dim, hidden_features=mlp_hidden_dim, act_layer=act_layer, drop=drop)
158
159 self.H = None
160 self.W = None
161
162 self.gamma_1 = 1.0
163 self.gamma_2 = 1.0
164 if self.use_layerscale:
165 self.gamma_1 = nn.Parameter(layerscale_value * torch.ones((dim)), requires_grad=True)
166 self.gamma_2 = nn.Parameter(layerscale_value * torch.ones((dim)), requires_grad=True)
167
168 def forward(self, x):
169 """ Forward function.

Callers

nothing calls this directly

Calls 3

FocalModulationClass · 0.70
MlpClass · 0.70
__init__Method · 0.45

Tested by

no test coverage detected