MCPcopy Create free account
hub / github.com/VisionXLab/OF-Diff / _make_vit_b16_backbone

Function _make_vit_b16_backbone

ldm/modules/midas/midas/vit.py:183–294  ·  view source on GitHub ↗
(
    model,
    features=[96, 192, 384, 768],
    size=[384, 384],
    hooks=[2, 5, 8, 11],
    vit_features=768,
    use_readout="ignore",
    start_index=1,
)

Source from the content-addressed store, hash-verified

181
182
183def _make_vit_b16_backbone(
184 model,
185 features=[96, 192, 384, 768],
186 size=[384, 384],
187 hooks=[2, 5, 8, 11],
188 vit_features=768,
189 use_readout="ignore",
190 start_index=1,
191):
192 pretrained = nn.Module()
193
194 pretrained.model = model
195 pretrained.model.blocks[hooks[0]].register_forward_hook(get_activation("1"))
196 pretrained.model.blocks[hooks[1]].register_forward_hook(get_activation("2"))
197 pretrained.model.blocks[hooks[2]].register_forward_hook(get_activation("3"))
198 pretrained.model.blocks[hooks[3]].register_forward_hook(get_activation("4"))
199
200 pretrained.activations = activations
201
202 readout_oper = get_readout_oper(vit_features, features, use_readout, start_index)
203
204 # 32, 48, 136, 384
205 pretrained.act_postprocess1 = nn.Sequential(
206 readout_oper[0],
207 Transpose(1, 2),
208 nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),
209 nn.Conv2d(
210 in_channels=vit_features,
211 out_channels=features[0],
212 kernel_size=1,
213 stride=1,
214 padding=0,
215 ),
216 nn.ConvTranspose2d(
217 in_channels=features[0],
218 out_channels=features[0],
219 kernel_size=4,
220 stride=4,
221 padding=0,
222 bias=True,
223 dilation=1,
224 groups=1,
225 ),
226 )
227
228 pretrained.act_postprocess2 = nn.Sequential(
229 readout_oper[1],
230 Transpose(1, 2),
231 nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),
232 nn.Conv2d(
233 in_channels=vit_features,
234 out_channels=features[1],
235 kernel_size=1,
236 stride=1,
237 padding=0,
238 ),
239 nn.ConvTranspose2d(
240 in_channels=features[1],

Calls 3

get_activationFunction · 0.85
get_readout_operFunction · 0.85
TransposeClass · 0.85

Tested by

no test coverage detected