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 controling 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.
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","controling","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","."]
code: def __init__(self, multiplier=1.0, classes=1000, **kwargs):
      super(MobileNetV2, self).__init__(**kwargs)
      self.features = nn.HybridSequential()
      _add_conv(
          self.features,
          int(32 * multiplier),
          kernel=3,
          stride=2,
          pad=1,
          relu6=True,
      )
  
      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
              )
          )
  
      last_channels = (
          int(1280 * multiplier) if multiplier > 1.0 else 1280
      )
      _add_conv(self.features, last_channels, relu6=True)
  
      self.features.add(nn.GlobalAvgPool2D())
  
      self.output = nn.HybridSequential()
      self.output.add(
          nn.Conv2D(classes, 1, use_bias=False), nn.Flatten()
      )
  
imports: import os
  from ...None import nn
  from ....device import cpu
  from ...block import HybridBlock
  from ....None import base, np
  from ....util import use_np, wrap_ctx_to_device_func
label_desc: Use image node_id 1 to create a new MobileNetV2 object from inherited base classes: nn with example: obj = MobileNetV2(multiplier, classes)