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 _make_layers(
      self,
      in_dims,
      out_dims,
      kernel_size,
      num_groups,
      weight_attr=None,
      bias_attr=None,
  ):
      return nn.Sequential(
          nn.Conv2D(
              in_dims,
              out_dims,
              kernel_size,
              padding=kernel_size // 2,
              weight_attr=weight_attr,
              bias_attr=bias_attr,
          ),
          nn.GroupNorm(num_groups, out_dims),
          nn.ReLU(),
      )
  
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 2 for calling the MaskHeadFPNConv obj's underlying member method code with example usage: obj._make_layers(in_dims, out_dims, kernel_size, num_groups, weight_attr, bias_attr) and returns: nn