code: def __init__(
      self,
      in_channels,
      out_channels,
      kernel_size=1,
      stride=1,
      padding=0,
      dilation=1,
      groups=1,
      bias=False,
      norm_type="bn",
      wtih_act=True,
  ):
      super(ConvModule, self).__init__()
      assert norm_type in ["bn", "sync_bn", "gn", None]
      self.with_norm = norm_type is not None
      self.wtih_act = wtih_act
      self.conv = nn.Conv2D(
          in_channels=in_channels,
          out_channels=out_channels,
          kernel_size=kernel_size,
          stride=stride,
          padding=padding,
          dilation=dilation,
          groups=groups,
          bias_attr=bias,
          weight_attr=KaimingNormal(),
      )
      if self.with_norm:
          if norm_type == "bn":
              self.bn = nn.BatchNorm2D(out_channels)
          elif norm_type == "gn":
              self.bn = nn.GroupNorm(out_channels, out_channels)
  
      if self.wtih_act:
          self.act = nn.ReLU()
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from ppdet.modeling.initializer import constant_
  from paddle.nn.initializer import KaimingNormal
  import paddle.nn
label_desc: Use image node_id 1 to create a new ConvModule object from inherited base classes: nn with example: obj = ConvModule(in_channels, out_channels, kernel_size, stride, padding, dilation, groups, bias, norm_type, wtih_act)