class_docstr: Depth-wise and point-wise module.
   Args:
      in_channel (int): The input channels of this Module.
      out_channel (int): The output channels of this Module.
      kernel_size (int): The conv2d kernel size of this Module.
      stride (int): The conv2d's stride of this Module.
      act (str): The activation function of this Module,
                 Now support `leaky_relu` and `hard_swish`.
code: def __init__(
      self,
      in_channel=96,
      out_channel=96,
      kernel_size=3,
      stride=1,
      act="leaky_relu",
  ):
      super(DPModule, self).__init__()
      initializer = nn.initializer.KaimingUniform()
      self.act = act
      self.dwconv = nn.Conv2D(
          in_channels=in_channel,
          out_channels=out_channel,
          kernel_size=kernel_size,
          groups=out_channel,
          padding=(kernel_size - 1) // 2,
          stride=stride,
          weight_attr=ParamAttr(initializer=initializer),
          bias_attr=False,
      )
      self.bn1 = nn.BatchNorm2D(out_channel)
      self.pwconv = nn.Conv2D(
          in_channels=out_channel,
          out_channels=out_channel,
          kernel_size=1,
          groups=1,
          padding=0,
          weight_attr=ParamAttr(initializer=initializer),
          bias_attr=False,
      )
      self.bn2 = nn.BatchNorm2D(out_channel)
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle import ParamAttr
label_desc: Use image node_id 1 to create a new DPModule object from inherited base classes: nn with example: obj = DPModule(in_channel, out_channel, kernel_size, stride, act)