class_docstr: RPN Head that supports FPN input
  
  Args:
      anchor_generator (object): `AnchorGenerator` instance
      rpn_target_assign (object): `RPNTargetAssign` instance
      train_proposal (object): `GenerateProposals` instance for training
      test_proposal (object): `GenerateProposals` instance for testing
      anchor_start_size (int): size of anchor at the first scale
      num_chan (int): number of FPN output channels
      min_level (int): lowest level of FPN output
      max_level (int): highest level of FPN output
      num_classes (int): number of classes in rpn output
code: def _get_loss_input(self):
      rpn_clses = []
      rpn_bboxes = []
      anchors = []
      anchor_vars = []
      for i in range(len(self.fpn_rpn_list)):
          single_input = self._transform_input(
              self.fpn_rpn_list[i][0],
              self.fpn_rpn_list[i][1],
              self.anchors_list[i],
              self.anchor_var_list[i],
          )
          rpn_clses.append(single_input[0])
          rpn_bboxes.append(single_input[1])
          anchors.append(single_input[2])
          anchor_vars.append(single_input[3])
  
      rpn_cls = fluid.layers.concat(rpn_clses, axis=1)
      rpn_bbox = fluid.layers.concat(rpn_bboxes, axis=1)
      anchors = fluid.layers.concat(anchors)
      anchor_var = fluid.layers.concat(anchor_vars)
      return rpn_cls, rpn_bbox, anchors, anchor_var
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from paddle import fluid
  from paddle.fluid.param_attr import ParamAttr
  from paddle.fluid.initializer import Normal
  from paddle.fluid.regularizer import L2Decay
label_desc: Use image node_id 5 for calling the FPNRPNHead obj's underlying member method code with example usage: obj._get_loss_input() and returns: rpn_cls,  rpn_bbox,  anchors,  anchor_var