code: def __init__(
      self,
      inplanes,
      planes,
      reps,
      stride=1,
      dilation=1,
      norm_layer=None,
      norm_kwargs=None,
      start_with_relu=True,
      grow_first=True,
      is_last=False,
  ):
      super(Block, self).__init__()
      norm_kwargs = norm_kwargs if norm_kwargs is not None else {}
      if planes != inplanes or stride != 1:
          self.skip = nn.Conv2D(
              in_channels=inplanes,
              channels=planes,
              kernel_size=1,
              strides=stride,
              use_bias=False,
          )
          self.skipbn = norm_layer(in_channels=planes, **norm_kwargs)
      else:
          self.skip = None
      self.relu = nn.Activation("relu")
      self.rep = nn.HybridSequential()
      filters = inplanes
      if grow_first:
          if start_with_relu:
              self.rep.add(self.relu)
          self.rep.add(
              SeparableConv2d(
                  inplanes,
                  planes,
                  3,
                  1,
                  dilation,
                  norm_layer=norm_layer,
                  norm_kwargs=norm_kwargs,
              )
          )
          self.rep.add(norm_layer(in_channels=planes, **norm_kwargs))
          filters = planes
      for i in range(reps - 1):
          if grow_first or start_with_relu:
              self.rep.add(self.relu)
          self.rep.add(
              SeparableConv2d(
                  filters,
                  filters,
                  3,
                  1,
                  dilation,
                  norm_layer=norm_layer,
                  norm_kwargs=norm_kwargs,
              )
          )
          self.rep.add(norm_layer(in_channels=filters, **norm_kwargs))
      if not grow_first:
          self.rep.add(self.relu)
          self.rep.add(
              SeparableConv2d(
                  inplanes,
                  planes,
                  3,
                  1,
                  dilation,
                  norm_layer=norm_layer,
                  norm_kwargs=norm_kwargs,
              )
          )
          self.rep.add(norm_layer(in_channels=planes, **norm_kwargs))
      if stride != 1:
          self.rep.add(self.relu)
          self.rep.add(
              SeparableConv2d(
                  planes,
                  planes,
                  3,
                  stride,
                  norm_layer=norm_layer,
                  norm_kwargs=norm_kwargs,
              )
          )
          self.rep.add(norm_layer(in_channels=planes, **norm_kwargs))
      elif is_last:
          self.rep.add(self.relu)
          self.rep.add(
              SeparableConv2d(
                  planes,
                  planes,
                  3,
                  1,
                  dilation,
                  norm_layer=norm_layer,
                  norm_kwargs=norm_kwargs,
              )
          )
          self.rep.add(norm_layer(in_channels=planes, **norm_kwargs))
  
imports: from mxnet.context import cpu
  import mxnet.gluon.nn
label_desc: Use image node_id 1 to create a new Block object from inherited base classes: nn with example: obj = Block(inplanes, planes, reps, stride, dilation, norm_layer, norm_kwargs, start_with_relu, grow_first, is_last)