code: def __init__(
      self,
      in_channels,
      out_channels,
      split,
      norm_layer=BatchNorm,
      norm_kwargs=None,
      **kwargs,
  ):
      super(shuffleUnitV2, self).__init__(**kwargs)
      self.in_channels = in_channels
      self.equal_channels = out_channels // 2
      self.split = split
      if split:
          self.DWConv_stride = 1
      else:
          self.DWConv_stride = 2
          with self.name_scope():
              self.branch1_conv = nn.HybridSequential()
              self.branch1_conv.add(
                  _conv2d(
                      channel=self.in_channels,
                      kernel=3,
                      padding=1,
                      stride=self.DWConv_stride,
                      num_group=self.in_channels,
                      use_act=False,
                      use_bias=False,
                  )
              )
              self.branch1_conv.add(
                  _conv2d(
                      channel=self.equal_channels,
                      kernel=1,
                      stride=1,
                      use_act=True,
                      use_bias=False,
                  )
              )
  
      with self.name_scope():
          self.branch2_conv = nn.HybridSequential()
          self.branch2_conv.add(
              _conv2d(
                  channel=self.equal_channels,
                  kernel=1,
                  stride=1,
                  use_act=True,
                  use_bias=False,
              )
          )
          self.branch2_conv.add(
              _conv2d(
                  channel=self.equal_channels,
                  kernel=3,
                  padding=1,
                  stride=self.DWConv_stride,
                  num_group=self.equal_channels,
                  use_act=False,
                  use_bias=False,
              )
          )
          self.branch2_conv.add(
              _conv2d(
                  channel=self.equal_channels,
                  kernel=1,
                  stride=1,
                  use_act=True,
                  use_bias=False,
              )
          )
  
imports: from mxnet.context import cpu
  from mxnet.gluon import nn
  from mxnet.gluon.nn import BatchNorm
  from mxnet.gluon.block import HybridBlock
label_desc: Use image node_id 1 to create a new shuffleUnitV2 object from inherited base classes: HybridBlock with example: obj = shuffleUnitV2(in_channels, out_channels, split, norm_layer, norm_kwargs)