class_docstr: This code is based on
  https://github.com/facebookresearch/detr/blob/main/models/segmentation.py
  
  Simple convolutional head, using group norm.
  Upsampling is done using a FPN approach
class_docstr_tok: ["This","code","is","based","on","https",":","\/\/github.com\/facebookresearch\/detr\/blob\/main\/models\/segmentation.py","Simple","convolutional","head",",","using","group","norm",".","Upsampling","is","done","using","a","FPN","approach"]
code: def forward(self, x, bbox_attention_map, fpns):
      x = paddle.concat(
          [
              x.tile([bbox_attention_map.shape[1], 1, 1, 1]),
              bbox_attention_map.flatten(0, 1),
          ],
          1,
      )
      x = self.conv0(x)
      for inter_layer, adapter_layer, feat in zip(
          self.conv_inter[:-1], self.adapter, fpns
      ):
          feat = adapter_layer(feat).tile(
              [bbox_attention_map.shape[1], 1, 1, 1]
          )
          x = inter_layer(x)
          x = feat + F.interpolate(x, size=feat.shape[-2:])
  
      x = self.conv_inter[-1](x)
      x = self.conv_out(x)
      return x
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from ppdet.core.workspace import register
  import pycocotools.mask
  from ..initializer import linear_init_, constant_
  from ..transformers.utils import inverse_sigmoid
label_desc: Use image node_id 3 for calling the MaskHeadFPNConv obj's underlying member method code with example usage: obj.forward(x, bbox_attention_map, fpns) and returns: x