code: def __init__(
      self,
      ch_in,
      ch_out,
      kernel_size,
      stride=1,
      padding=0,
      dilation=1,
      groups=1,
      bias=False,
  ):
      super(ConvLayer, self).__init__()
      bias_attr = False
      fan_in = ch_in * kernel_size**2
      bound = 1 / math.sqrt(fan_in)
      param_attr = paddle.ParamAttr(initializer=Uniform(-bound, bound))
      if bias:
          bias_attr = paddle.ParamAttr(initializer=Constant(0.0))
      self.conv = nn.Conv2D(
          in_channels=ch_in,
          out_channels=ch_out,
          kernel_size=kernel_size,
          stride=stride,
          padding=padding,
          dilation=dilation,
          groups=groups,
          weight_attr=param_attr,
          bias_attr=bias_attr,
      )
  
file_path: PaddleDetection/ppdet/modeling/heads/centernet_head.py
imports: import math
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle.nn.initializer import Constant, Uniform
  from ppdet.core.workspace import register
  from ppdet.modeling.losses import CTFocalLoss, GIoULoss
label_desc: Use image node_id 1 to create a new ConvLayer object from inherited base classes: nn with example: obj = ConvLayer(ch_in, ch_out, kernel_size, stride, padding, dilation, groups, bias)