(self, x, layer, skips, os)
| 278 | return nn.Sequential(OrderedDict(layers)) |
| 279 | |
| 280 | def run_layer(self, x, layer, skips, os): |
| 281 | feats = layer(x) # up |
| 282 | if feats.shape[-1] > x.shape[-1]: |
| 283 | os //= 2 # match skip |
| 284 | feats = feats + skips[os].detach() # add skip |
| 285 | x = feats |
| 286 | return x, skips, os |
| 287 | |
| 288 | def forward(self, x, skips, return_logits=False, return_list=None): |
| 289 | os = self.backbone_OS |