class_docstr: GFLHead
  Args:
      conv_feat (object): Instance of 'FCOSFeat'
      num_classes (int): Number of classes
      fpn_stride (list): The stride of each FPN Layer
      prior_prob (float): Used to set the bias init for the class prediction layer
      loss_class (object): Instance of QualityFocalLoss.
      loss_dfl (object): Instance of DistributionFocalLoss.
      loss_bbox (object): Instance of bbox loss.
      reg_max: Max value of integral set :math: `{0, ..., reg_max}`
              n QFL setting. Default: 16.
docstr: Get center location of each gird cell
  Args:
      grid_cells: grid cells of a feature map
  Returns:
      center points
code: def _grid_cells_to_center(self, grid_cells):
      """
      Get center location of each gird cell
      Args:
          grid_cells: grid cells of a feature map
      Returns:
          center points
      """
      cells_cx = (grid_cells[:, 2] + grid_cells[:, 0]) / 2
      cells_cy = (grid_cells[:, 3] + grid_cells[:, 1]) / 2
      return paddle.stack([cells_cx, cells_cy], axis=-1)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle import ParamAttr
  from paddle.nn.initializer import Normal, Constant
  from ppdet.core.workspace import register
  from ppdet.modeling.bbox_utils import distance2bbox, bbox2distance, batch_distance2bbox
  from ppdet.data.transform.atss_assigner import bbox_overlaps
label_desc: Use image node_id 4 for calling the GFLHead obj's underlying member method code with example usage: obj._grid_cells_to_center(grid_cells) and returns: paddle