code: def build_resnet_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 = build_resnet_backbone(cfg, input_shape)
      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
  
imports: import math
  import fvcore.nn.weight_init
  import torch
  import torch.nn.functional
  from torch import nn
  from detectron2.layers import Conv2d, ShapeSpec, get_norm
  from .backbone import Backbone
  from .build import BACKBONE_REGISTRY
  from .resnet import build_resnet_backbone
label_desc: Use image node_id 2 for calling a global function with example usage: build_resnet_fpn_backbone(cfg, input_shape) and returns: backbone