class_docstr: Distribution-Guided Quality Predictor of GFocal head
  Args:
      reg_topk (int): top-k statistics of distribution to guide LQE
      reg_channels (int): hidden layer unit to generate LQE
      add_mean (bool): Whether to calculate the mean of top-k statistics
code: def __init__(self, reg_topk=4, reg_channels=64, add_mean=True):
      super(DGQP, self).__init__()
      self.reg_topk = reg_topk
      self.reg_channels = reg_channels
      self.add_mean = add_mean
      self.total_dim = reg_topk
      if add_mean:
          self.total_dim += 1
      self.reg_conv1 = self.add_sublayer(
          "dgqp_reg_conv1",
          nn.Conv2D(
              in_channels=4 * self.total_dim,
              out_channels=self.reg_channels,
              kernel_size=1,
              weight_attr=ParamAttr(
                  initializer=Normal(mean=0.0, std=0.01)
              ),
              bias_attr=ParamAttr(initializer=Constant(value=0)),
          ),
      )
      self.reg_conv2 = self.add_sublayer(
          "dgqp_reg_conv2",
          nn.Conv2D(
              in_channels=self.reg_channels,
              out_channels=1,
              kernel_size=1,
              weight_attr=ParamAttr(
                  initializer=Normal(mean=0.0, std=0.01)
              ),
              bias_attr=ParamAttr(initializer=Constant(value=0)),
          ),
      )
  
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 1 to create a new DGQP object from inherited base classes: nn with example: obj = DGQP(reg_topk, reg_channels, add_mean)