class_docstr: A fixed layer for calculating integral result from distribution.
  This layer calculates the target location by :math: `sum{P(y_i) * y_i}`,
  P(y_i) denotes the softmax vector that represents the discrete distribution
  y_i denotes the discrete set, usually {0, 1, 2, ..., reg_max}
  Args:
      reg_max (int): The maximal value of the discrete set. Default: 16. You
          may want to reset it according to your new dataset or related
          settings.
code: def __init__(self, reg_max=16):
      super(Integral, self).__init__()
      self.reg_max = reg_max
      self.register_buffer(
          "project", paddle.linspace(0, self.reg_max, self.reg_max + 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 1 to create a new Integral object from inherited base classes: nn with example: obj = Integral(reg_max)