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 __init__(
      self,
      anchor_generator,
      rpn_target_assign,
      train_proposal,
      test_proposal,
      anchor_start_size=32,
      num_chan=256,
      min_level=2,
      max_level=6,
      num_classes=1,
  ):
      super(FPNRPNHead, self).__init__(
          anchor_generator,
          rpn_target_assign,
          train_proposal,
          test_proposal,
      )
      self.anchor_start_size = anchor_start_size
      self.num_chan = num_chan
      self.min_level = min_level
      self.max_level = max_level
      self.num_classes = num_classes
  
      self.fpn_rpn_list = []
      self.anchors_list = []
      self.anchor_var_list = []
  
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 1 to create a new FPNRPNHead object from inherited base classes: RPNHead with example: obj = FPNRPNHead(anchor_generator, rpn_target_assign, train_proposal, test_proposal, anchor_start_size, num_chan, min_level, max_level, num_classes)