code: def __init__(
      self, fp16=False, num_features=512, blocks=(1, 4, 6, 2), scale=2
  ):
      super(MobileFaceNet, self).__init__()
      self.scale = scale
      self.fp16 = fp16
      self.layers = nn.ModuleList()
      self.layers.append(
          ConvBlock(
              3,
              64 * self.scale,
              kernel=(3, 3),
              stride=(2, 2),
              padding=(1, 1),
          )
      )
      if blocks[0] == 1:
          self.layers.append(
              ConvBlock(
                  64 * self.scale,
                  64 * self.scale,
                  kernel=(3, 3),
                  stride=(1, 1),
                  padding=(1, 1),
                  groups=64,
              )
          )
      else:
          self.layers.append(
              Residual(
                  64 * self.scale,
                  num_block=blocks[0],
                  groups=128,
                  kernel=(3, 3),
                  stride=(1, 1),
                  padding=(1, 1),
              ),
          )
  
      self.layers.extend(
          [
              DepthWise(
                  64 * self.scale,
                  64 * self.scale,
                  kernel=(3, 3),
                  stride=(2, 2),
                  padding=(1, 1),
                  groups=128,
              ),
              Residual(
                  64 * self.scale,
                  num_block=blocks[1],
                  groups=128,
                  kernel=(3, 3),
                  stride=(1, 1),
                  padding=(1, 1),
              ),
              DepthWise(
                  64 * self.scale,
                  128 * self.scale,
                  kernel=(3, 3),
                  stride=(2, 2),
                  padding=(1, 1),
                  groups=256,
              ),
              Residual(
                  128 * self.scale,
                  num_block=blocks[2],
                  groups=256,
                  kernel=(3, 3),
                  stride=(1, 1),
                  padding=(1, 1),
              ),
              DepthWise(
                  128 * self.scale,
                  128 * self.scale,
                  kernel=(3, 3),
                  stride=(2, 2),
                  padding=(1, 1),
                  groups=512,
              ),
              Residual(
                  128 * self.scale,
                  num_block=blocks[3],
                  groups=256,
                  kernel=(3, 3),
                  stride=(1, 1),
                  padding=(1, 1),
              ),
          ]
      )
  
      self.conv_sep = ConvBlock(
          128 * self.scale,
          512,
          kernel=(1, 1),
          stride=(1, 1),
          padding=(0, 0),
      )
      self.features = GDC(num_features)
      self._initialize_weights()
  
imports: import torch.nn
  from torch.nn import Linear, Conv2d, BatchNorm1d, BatchNorm2d, PReLU, Sequential, Module
  import torch
label_desc: Use image node_id 1 to create a new MobileFaceNet object from inherited base classes: Module with example: obj = MobileFaceNet(fp16, num_features, blocks, scale)