code: def __init__(
      self,
      num_channels,
      num_filters,
      stride,
      dw_size=3,
      use_se=False,
      act="hard_swish",
  ):
      super().__init__()
      self.use_se = use_se
      self.dw_conv = ConvBNLayer(
          num_channels=num_channels,
          num_filters=num_channels,
          filter_size=dw_size,
          stride=stride,
          num_groups=num_channels,
          act=act,
      )
      if use_se:
          self.se = SEModule(num_channels)
      self.pw_conv = ConvBNLayer(
          num_channels=num_channels,
          filter_size=1,
          num_filters=num_filters,
          stride=1,
          act=act,
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle
  import paddle.nn
  from paddle import ParamAttr
  from paddle.nn import AdaptiveAvgPool2D, Conv2D
  from paddle.regularizer import L2Decay
  from paddle.nn.initializer import KaimingNormal
  from ppdet.core.workspace import register, serializable
  from numbers import Integral
  from ..shape_spec import ShapeSpec
label_desc: Use image node_id 1 to create a new DepthwiseSeparable object from inherited base classes: nn with example: obj = DepthwiseSeparable(num_channels, num_filters, stride, dw_size, use_se, act)