Spaces:
Build error
Build error
| from .regnet_model import RegNet | |
| from .regnet_model import SimpleStem, ResBottleneckBlock | |
| from detectron2.modeling.backbone.build import BACKBONE_REGISTRY | |
| from detectron2.modeling.backbone.fpn import FPN, LastLevelMaxPool | |
| from detectron2.layers import ( | |
| Conv2d, | |
| DeformConv, | |
| FrozenBatchNorm2d, | |
| ModulatedDeformConv, | |
| ShapeSpec, | |
| get_norm, | |
| ) | |
| # train.cudnn_benchmark = True | |
| def build_regnet_fpn_backbone(cfg, input_shape: ShapeSpec): | |
| """ | |
| Args: | |
| cfg: a detectron2 CfgNode | |
| Returns: | |
| backbone (Backbone): backbone module, must be a subclass of :class:`Backbone`. | |
| """ | |
| bottom_up = RegNet( | |
| stem_class=SimpleStem, | |
| stem_width=32, | |
| block_class=ResBottleneckBlock, | |
| depth=22, | |
| w_a=31.41, | |
| w_0=96, | |
| w_m=2.24, | |
| group_width=64, | |
| se_ratio=0.25, | |
| freeze_at=2, | |
| norm="FrozenBN", | |
| out_features=["s1", "s2", "s3", "s4"], | |
| ) | |
| in_features = cfg.MODEL.FPN.IN_FEATURES | |
| out_channels = cfg.MODEL.FPN.OUT_CHANNELS | |
| backbone = FPN( | |
| bottom_up=bottom_up, | |
| in_features=in_features, | |
| out_channels=out_channels, | |
| norm=cfg.MODEL.FPN.NORM, | |
| top_block=LastLevelMaxPool(), | |
| fuse_type=cfg.MODEL.FPN.FUSE_TYPE, | |
| ) | |
| return backbone | |
| def build_regnetx_fpn_backbone(cfg, input_shape: ShapeSpec): | |
| """ | |
| Args: | |
| cfg: a detectron2 CfgNode | |
| Returns: | |
| backbone (Backbone): backbone module, must be a subclass of :class:`Backbone`. | |
| """ | |
| bottom_up = RegNet( | |
| stem_class=SimpleStem, | |
| stem_width=32, | |
| block_class=ResBottleneckBlock, | |
| depth=23, | |
| w_a=38.65, | |
| w_0=96, | |
| w_m=2.43, | |
| group_width=40, | |
| freeze_at=2, | |
| norm="FrozenBN", | |
| out_features=["s1", "s2", "s3", "s4"], | |
| ) | |
| in_features = cfg.MODEL.FPN.IN_FEATURES | |
| out_channels = cfg.MODEL.FPN.OUT_CHANNELS | |
| backbone = FPN( | |
| bottom_up=bottom_up, | |
| in_features=in_features, | |
| out_channels=out_channels, | |
| norm=cfg.MODEL.FPN.NORM, | |
| top_block=LastLevelMaxPool(), | |
| fuse_type=cfg.MODEL.FPN.FUSE_TYPE, | |
| ) | |
| return backbone |