class_docstr: In the original MobileNetV2 implementation, this is InvertedResidual when expand ratio = 1.
  Residual connection is added if input and output shape are the same.
  
  References:
  
  - https://github.com/rwightman/pytorch-image-models/blob/b7cb8d03/timm/models/efficientnet_blocks.py#L90
  - https://github.com/google-research/google-research/blob/20736344/tunas/rematlib/mobile_model_v3.py#L433
  - https://github.com/ultmaster/AceNAS/blob/46c8895f/searchspace/proxylessnas/utils.py#L100
class_docstr_tok: ["In","the","original","MobileNetV2","implementation",",","this","is","InvertedResidual","when","expand","ratio","=","1",".","Residual","connection","is","added","if","input","and","output","shape","are","the","same",".","References",":","-","https",":","\/\/github.com\/rwightman\/pytorch-image-models\/blob\/b7cb8d03\/timm\/models\/efficientnet_blocks.py","#","L90","-","https",":","\/\/github.com\/google-research\/google-research\/blob\/20736344\/tunas\/rematlib\/mobile_model_v3.py","#","L433","-","https",":","\/\/github.com\/ultmaster\/AceNAS\/blob\/46c8895f\/searchspace\/proxylessnas\/utils.py","#","L100"]
code: def forward(self, x: torch.Tensor) -> torch.Tensor:
      if self.has_skip:
          return x + super().forward(x)
      else:
          return super().forward(x)
  
imports: import math
  from typing import Optional, Callable, List, Tuple, Iterator, Union, cast, overload
  import torch
  from torch import nn
  from nni.mutable import MutableExpression
  from nni.nas.nn.pytorch import ModelSpace, LayerChoice, Repeat, MutableConv2d, MutableLinear, MutableBatchNorm2d
  from .utils.pretrained import load_pretrained_weight
label_desc: Use image node_id 2 for calling the DepthwiseSeparableConv obj's underlying member method code with example usage: obj.forward(x) and returns: unknown, super