code: def __init__(self, inp, expand, kernel_size, stride):
      super(DepthSpatialSepConv, self).__init__()
  
      exp1, exp2 = expand
  
      hidden_dim = inp * exp1
      oup = inp * exp1 * exp2
  
      self.conv = nn.Sequential(
          nn.Conv2D(
              inp,
              inp * exp1,
              (kernel_size, 1),
              (stride, 1),
              (kernel_size // 2, 0),
              bias_attr=False,
              groups=inp,
          ),
          nn.BatchNorm2D(inp * exp1),
          nn.Conv2D(
              hidden_dim,
              oup,
              (1, kernel_size),
              1,
              (0, kernel_size // 2),
              bias_attr=False,
              groups=hidden_dim,
          ),
          nn.BatchNorm2D(oup),
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle
  import paddle.nn
  from ppocr.modeling.backbones.det_mobilenet_v3 import make_divisible
label_desc: Use image node_id 1 to create a new DepthSpatialSepConv object from inherited base classes: nn with example: obj = DepthSpatialSepConv(inp, expand, kernel_size, stride)