class_docstr: expand + depthwise + pointwise
class_docstr_tok: ["expand","+","depthwise","+","pointwise"]
code: def __init__(self, in_planes, out_planes, expansion, stride):
      super(Block, self).__init__()
      self.stride = stride
  
      planes = expansion * in_planes
      self.conv1 = nn.Conv2d(
          in_planes,
          planes,
          kernel_size=1,
          stride=1,
          padding=0,
          bias=False,
      )
      self.bn1 = nn.BatchNorm2d(planes)
      self.conv2 = nn.Conv2d(
          planes,
          planes,
          kernel_size=3,
          stride=stride,
          padding=1,
          groups=planes,
          bias=False,
      )
      self.bn2 = nn.BatchNorm2d(planes)
      self.conv3 = nn.Conv2d(
          planes,
          out_planes,
          kernel_size=1,
          stride=1,
          padding=0,
          bias=False,
      )
      self.bn3 = nn.BatchNorm2d(out_planes)
  
      self.shortcut = nn.Sequential()
      if stride == 1 and in_planes != out_planes:
          self.shortcut = nn.Sequential(
              nn.Conv2d(
                  in_planes,
                  out_planes,
                  kernel_size=1,
                  stride=1,
                  padding=0,
                  bias=False,
              ),
              nn.BatchNorm2d(out_planes),
          )
  
file_path: nni/examples/trials/cifar10_pytorch/models/mobilenetv2.py
imports: import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new Block object from inherited base classes: nn with example: obj = Block(in_planes, out_planes, expansion, stride)