class_docstr: MobileNet-V3 head as done in Torchvision implementation
code: def __init__(
      self,
      model_config: AttrDict,
      in_channels: int = 960,
      mid_channels: int = 1280,
      num_classes: int = 1000,
      drop_out: float = 0.2,
      with_bn: bool = False,
  ):
      super().__init__()
      self.with_bn = with_bn
      if self.with_bn:
          self.channel_bn = nn.BatchNorm2d(
              in_channels,
              eps=model_config.HEAD.BATCHNORM_EPS,
              momentum=model_config.HEAD.BATCHNORM_MOMENTUM,
          )
      self.classifier = nn.Sequential(
          nn.Linear(in_channels, mid_channels),
          nn.Hardswish(inplace=True),
          nn.Dropout(p=drop_out, inplace=True),
          nn.Linear(mid_channels, num_classes),
      )
  
      for m in self.modules():
          if isinstance(m, nn.Linear):
              nn.init.normal_(m.weight, 0, 0.01)
              nn.init.zeros_(m.bias)
  
file_path: vissl/vissl/models/heads/mobilenet_v3_head.py
imports: import torch
  import torch.nn
  from vissl.config import AttrDict
  from vissl.models.heads import register_model_head
label_desc: Use image node_id 1 to create a new MobileNetV3Head object from inherited base classes: nn with example: obj = MobileNetV3Head(model_config, in_channels, mid_channels, num_classes, drop_out, with_bn)