Spaces:
Runtime error
Runtime error
| # Copyright (c) Facebook, Inc. and its affiliates. | |
| from detectron2.layers import ShapeSpec | |
| from detectron2.utils.registry import Registry | |
| from .backbone import Backbone | |
| BACKBONE_REGISTRY = Registry("BACKBONE") | |
| BACKBONE_REGISTRY.__doc__ = """ | |
| Registry for backbones, which extract feature maps from images | |
| The registered object must be a callable that accepts two arguments: | |
| 1. A :class:`detectron2.config.CfgNode` | |
| 2. A :class:`detectron2.layers.ShapeSpec`, which contains the input shape specification. | |
| Registered object must return instance of :class:`Backbone`. | |
| """ | |
| def build_backbone(cfg, input_shape=None): | |
| """ | |
| Build a backbone from `cfg.MODEL.BACKBONE.NAME`. | |
| Returns: | |
| an instance of :class:`Backbone` | |
| """ | |
| if input_shape is None: | |
| input_shape = ShapeSpec(channels=len(cfg.MODEL.PIXEL_MEAN)) | |
| backbone_name = cfg.MODEL.BACKBONE.NAME | |
| backbone = BACKBONE_REGISTRY.get(backbone_name)(cfg, input_shape) | |
| assert isinstance(backbone, Backbone) | |
| return backbone | |