class_docstr: MobileNetV2 model from the
  `"Inverted Residuals and Linear Bottlenecks:
    Mobile Networks for Classification, Detection and Segmentation"
  <https://arxiv.org/abs/1801.04381>`_ paper.
  Parameters
  ----------
  multiplier : float, default 1.0
      The width multiplier for controlling the model size. The actual number of channels
      is equal to the original channel size multiplied by this multiplier.
  classes : int, default 1000
      Number of classes for the output layer.
  norm_layer : object
      Normalization layer used (default: :class:`mxnet.gluon.nn.BatchNorm`)
      Can be :class:`mxnet.gluon.nn.BatchNorm` or :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`.
  norm_kwargs : dict
      Additional `norm_layer` arguments, for example `num_devices=4`
      for :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`.
class_docstr_tok: ["MobileNetV2","model","from","the","`","``","Inverted","Residuals","and","Linear","Bottlenecks",":","Mobile","Networks","for","Classification",",","Detection","and","Segmentation","''","<","https",":","\/\/arxiv.org\/abs\/1801.04381",">","`","_","paper",".","Parameters","--","--","--","--","--","multiplier",":","float",",","default","1.0","The","width","multiplier","for","controlling","the","model","size",".","The","actual","number","of","channels","is","equal","to","the","original","channel","size","multiplied","by","this","multiplier",".","classes",":","int",",","default","1000","Number","of","classes","for","the","output","layer",".","norm_layer",":","object","Normalization","layer","used","(","default",":",":","class",":","`","mxnet.gluon.nn.BatchNorm","`",")","Can","be",":","class",":","`","mxnet.gluon.nn.BatchNorm","`","or",":","class",":","`","mxnet.gluon.contrib.nn.SyncBatchNorm","`",".","norm_kwargs",":","dict","Additional","`","norm_layer","`","arguments",",","for","example","`","num_devices=4","`","for",":","class",":","`","mxnet.gluon.contrib.nn.SyncBatchNorm","`","."]
code: def __init__(
      self,
      multiplier=1.0,
      classes=1000,
      norm_layer=BatchNorm,
      norm_kwargs=None,
      **kwargs,
  ):
      super(MobileNetV2, self).__init__(**kwargs)
      with self.name_scope():
          self.features = nn.HybridSequential(prefix="features_")
          with self.features.name_scope():
              _add_conv(
                  self.features,
                  int(32 * multiplier),
                  kernel=3,
                  stride=2,
                  pad=1,
                  relu6=True,
                  norm_layer=norm_layer,
                  norm_kwargs=norm_kwargs,
              )
  
              in_channels_group = [
                  int(x * multiplier)
                  for x in [32]
                  + [16]
                  + [24] * 2
                  + [32] * 3
                  + [64] * 4
                  + [96] * 3
                  + [160] * 3
              ]
              channels_group = [
                  int(x * multiplier)
                  for x in [16]
                  + [24] * 2
                  + [32] * 3
                  + [64] * 4
                  + [96] * 3
                  + [160] * 3
                  + [320]
              ]
              ts = [1] + [6] * 16
              strides = [1, 2] * 2 + [1, 1, 2] + [1] * 6 + [2] + [1] * 3
  
              for in_c, c, t, s in zip(
                  in_channels_group, channels_group, ts, strides
              ):
                  self.features.add(
                      LinearBottleneck(
                          in_channels=in_c,
                          channels=c,
                          t=t,
                          stride=s,
                          norm_layer=norm_layer,
                          norm_kwargs=norm_kwargs,
                      )
                  )
  
              last_channels = (
                  int(1280 * multiplier) if multiplier > 1.0 else 1280
              )
              _add_conv(
                  self.features,
                  last_channels,
                  relu6=True,
                  norm_layer=norm_layer,
                  norm_kwargs=norm_kwargs,
              )
  
              self.features.add(nn.GlobalAvgPool2D())
  
          self.output = nn.HybridSequential(prefix="output_")
          with self.output.name_scope():
              self.output.add(
                  nn.Conv2D(classes, 1, use_bias=False, prefix="pred_"),
                  nn.Flatten(),
              )
  
imports: from mxnet.gluon import nn
  from mxnet.gluon.nn import BatchNorm
  from mxnet.context import cpu
  from mxnet.gluon.block import HybridBlock
  from ..nn import ReLU6
label_desc: Use image node_id 1 to create a new MobileNetV2 object from inherited base classes: nn with example: obj = MobileNetV2(multiplier, classes, norm_layer, norm_kwargs)