code: def inputs(self):
      ret = [tf.TensorSpec((None, None, 3), tf.float32, "image")]
      num_anchors = len(cfg.RPN.ANCHOR_RATIOS)
      for k in range(len(cfg.FPN.ANCHOR_STRIDES)):
          ret.extend(
              [
                  tf.TensorSpec(
                      (None, None, num_anchors),
                      tf.int32,
                      "anchor_labels_lvl{}".format(k + 2),
                  ),
                  tf.TensorSpec(
                      (None, None, num_anchors, 4),
                      tf.float32,
                      "anchor_boxes_lvl{}".format(k + 2),
                  ),
              ]
          )
      ret.extend(
          [
              tf.TensorSpec((None, 4), tf.float32, "gt_boxes"),
              tf.TensorSpec((None,), tf.int64, "gt_labels"),
          ]
      )  # all > 0
      if cfg.MODE_MASK:
          ret.append(
              tf.TensorSpec(
                  (None, None, None), tf.uint8, "gt_masks_packed"
              )
          )
      return ret
  
imports: from tensorpack import tfv1
  from tensorpack import ModelDesc
  from tensorpack.models import GlobalAvgPooling, l2_regularizer, regularize_cost
  from tensorpack.tfutils import optimizer
  from tensorpack.tfutils.summary import add_moving_summary
  from config import config
  from data import get_all_anchors, get_all_anchors_fpn
  from utils.box_ops import area
  from .None import model_frcnn
  from .None import model_mrcnn
  from .backbone import image_preprocess, resnet_c4_backbone, resnet_conv5, resnet_fpn_backbone
  from .model_box import RPNAnchors, clip_boxes, crop_and_resize, roi_align
  from .model_cascade import CascadeRCNNHead
  from .model_fpn import fpn_model, generate_fpn_proposals, multilevel_roi_align, multilevel_rpn_losses
  from .model_frcnn import BoxProposals, FastRCNNHead, fastrcnn_outputs, fastrcnn_predictions, sample_fast_rcnn_targets
  from .model_mrcnn import maskrcnn_loss, maskrcnn_upXconv_head, unpackbits_masks
  from .model_rpn import generate_rpn_proposals, rpn_head, rpn_losses
label_desc: Use image node_id 1 for calling the ResNetFPNModel obj's underlying member method code with example usage: obj.inputs() and returns: ret