code: def __init__(
      self,
      ch_in,
      ch_out,
      filter_size,
      stride=1,
      dw_norm_type=None,
      pw_norm_type=None,
      norm_decay=0.0,
      freeze_norm=False,
      dw_act=None,
      pw_act=None,
  ):
      super(DepthWiseSeparableConvNormLayer, self).__init__()
      self.depthwise_conv = ConvNormLayer(
          ch_in=ch_in,
          ch_out=ch_in,
          filter_size=filter_size,
          stride=stride,
          groups=ch_in,
          norm_type=dw_norm_type,
          act=dw_act,
          norm_decay=norm_decay,
          freeze_norm=freeze_norm,
      )
      self.pointwise_conv = ConvNormLayer(
          ch_in=ch_in,
          ch_out=ch_out,
          filter_size=1,
          stride=1,
          norm_type=pw_norm_type,
          act=pw_act,
          norm_decay=norm_decay,
          freeze_norm=freeze_norm,
      )
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from numbers import Integral
  from paddle import ParamAttr
  from paddle.regularizer import L2Decay
  from paddle.nn.initializer import Normal, Constant
  from ppdet.core.workspace import register
  from ppdet.modeling.shape_spec import ShapeSpec
  from ppdet.modeling.ops import channel_shuffle
  from ..None import layers
label_desc: Use image node_id 1 to create a new DepthWiseSeparableConvNormLayer object from inherited base classes: nn with example: obj = DepthWiseSeparableConvNormLayer(ch_in, ch_out, filter_size, stride, dw_norm_type, pw_norm_type, norm_decay, freeze_norm, dw_act, pw_act)