Spaces:
Runtime error
Runtime error
| # Copyright (c) OpenMMLab. All rights reserved. | |
| from .norm import build_norm_layer | |
| try: | |
| from mmdet.models.backbones import ResNet | |
| from mmdet.models.roi_heads.shared_heads.res_layer import ResLayer | |
| from mmdet.registry import MODELS | |
| class ResLayerExtraNorm(ResLayer): | |
| """Add extra norm to original ``ResLayer``.""" | |
| def __init__(self, *args, **kwargs): | |
| super(ResLayerExtraNorm, self).__init__(*args, **kwargs) | |
| block = ResNet.arch_settings[kwargs['depth']][0] | |
| self.add_module( | |
| 'norm', | |
| build_norm_layer(self.norm_cfg, | |
| 64 * 2**self.stage * block.expansion)) | |
| def forward(self, x): | |
| """Forward function.""" | |
| res_layer = getattr(self, f'layer{self.stage + 1}') | |
| norm = getattr(self, 'norm') | |
| x = res_layer(x) | |
| out = norm(x) | |
| return out | |
| except ImportError: | |
| ResLayerExtraNorm = None | |