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
docstr: Get anchor and FPN RPN head output at one level.
  
  Args:
      input(Variable): Body feature from backbone.
      feat_lvl(int): Indicate the level of rpn output corresponding
          to the level of feature map.
  
  Return:
      rpn_cls_score(Variable): Output of one level of fpn rpn head with
          shape of [N, num_anchors, H, W].
      rpn_bbox_pred(Variable): Output of one level of fpn rpn head with
          shape of [N, num_anchors * 4, H, W].
docstr_tok: ["Get","anchor","and","FPN","RPN","head","output","at","one","level",".","Args",":","input","(","Variable",")",":","Body","feature","from","backbone",".","feat_lvl","(","int",")",":","Indicate","the","level","of","rpn","output","corresponding","to","the","level","of","feature","map",".","Return",":","rpn_cls_score","(","Variable",")",":","Output","of","one","level","of","fpn","rpn","head","with","shape","of","[","N",",","num_anchors",",","H",",","W","]",".","rpn_bbox_pred","(","Variable",")",":","Output","of","one","level","of","fpn","rpn","head","with","shape","of","[","N",",","num_anchors","*","4",",","H",",","W","]","."]
code: def _get_output(self, input, feat_lvl):
      """
      Get anchor and FPN RPN head output at one level.
  
      Args:
          input(Variable): Body feature from backbone.
          feat_lvl(int): Indicate the level of rpn output corresponding
              to the level of feature map.
  
      Return:
          rpn_cls_score(Variable): Output of one level of fpn rpn head with
              shape of [N, num_anchors, H, W].
          rpn_bbox_pred(Variable): Output of one level of fpn rpn head with
              shape of [N, num_anchors * 4, H, W].
      """
      slvl = str(feat_lvl)
      conv_name = "conv_rpn_fpn" + slvl
      cls_name = "rpn_cls_logits_fpn" + slvl
      bbox_name = "rpn_bbox_pred_fpn" + slvl
      conv_share_name = "conv_rpn_fpn" + str(self.min_level)
      cls_share_name = "rpn_cls_logits_fpn" + str(self.min_level)
      bbox_share_name = "rpn_bbox_pred_fpn" + str(self.min_level)
  
      num_anchors = len(self.anchor_generator.aspect_ratios)
      conv_rpn_fpn = fluid.layers.conv2d(
          input=input,
          num_filters=self.num_chan,
          filter_size=3,
          padding=1,
          act="relu",
          name=conv_name,
          param_attr=ParamAttr(
              name=conv_share_name + "_w",
              initializer=Normal(loc=0.0, scale=0.01),
          ),
          bias_attr=ParamAttr(
              name=conv_share_name + "_b",
              learning_rate=2.0,
              regularizer=L2Decay(0.0),
          ),
      )
  
      # self.anchor_generator
      self.anchors, self.anchor_var = fluid.layers.anchor_generator(
          input=conv_rpn_fpn,
          anchor_sizes=(
              self.anchor_start_size
              * 2.0 ** (feat_lvl - self.min_level),
          ),
          stride=(2.0**feat_lvl, 2.0**feat_lvl),
          aspect_ratios=self.anchor_generator.aspect_ratios,
          variance=self.anchor_generator.variance,
      )
  
      cls_num_filters = num_anchors * self.num_classes
      self.rpn_cls_score = fluid.layers.conv2d(
          input=conv_rpn_fpn,
          num_filters=cls_num_filters,
          filter_size=1,
          act=None,
          name=cls_name,
          param_attr=ParamAttr(
              name=cls_share_name + "_w",
              initializer=Normal(loc=0.0, scale=0.01),
          ),
          bias_attr=ParamAttr(
              name=cls_share_name + "_b",
              learning_rate=2.0,
              regularizer=L2Decay(0.0),
          ),
      )
      self.rpn_bbox_pred = fluid.layers.conv2d(
          input=conv_rpn_fpn,
          num_filters=num_anchors * 4,
          filter_size=1,
          act=None,
          name=bbox_name,
          param_attr=ParamAttr(
              name=bbox_share_name + "_w",
              initializer=Normal(loc=0.0, scale=0.01),
          ),
          bias_attr=ParamAttr(
              name=bbox_share_name + "_b",
              learning_rate=2.0,
              regularizer=L2Decay(0.0),
          ),
      )
      return self.rpn_cls_score, self.rpn_bbox_pred
  
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 2 for calling the FPNRPNHead obj's underlying member method code with example usage: obj._get_output(input, feat_lvl) and returns: self,  self