class_docstr: Single Inverted bottleneck implementation.
  Args:
      in_channels (int): The number of input channels to bottleneck block.
      out_channels (int): The number of output channels of bottleneck block.
      expansion (int, optional). The expansion factor in bottleneck. Default: 6.
      stride (int, optional). The stride used in depth-wise conv. Defalt: 2.
class_docstr_tok: ["Single","Inverted","bottleneck","implementation",".","Args",":","in_channels","(","int",")",":","The","number","of","input","channels","to","bottleneck","block",".","out_channels","(","int",")",":","The","number","of","output","channels","of","bottleneck","block",".","expansion","(","int",",","optional",")",".","The","expansion","factor","in","bottleneck",".","Default",":","6.","stride","(","int",",","optional",")",".","The","stride","used","in","depth-wise","conv",".","Defalt",":","2","."]
code: def forward(self, x: paddle.Tensor) -> paddle.Tensor:
      out = self.block(x)
      if self.use_shortcut:
          out = x + out
      return out
  
imports: import os
  from typing import Callable, Union, Tuple
  import paddle.nn
  import paddle.nn.functional
  import paddle
  import numpy
  from paddlehub.module.module import moduleinfo
  import paddlehub.vision.segmentation_transforms
  from paddlehub.module.cv_module import ImageSegmentationModule
  import fastscnn_cityscapes.layers
label_desc: Use image node_id 2 for calling the InvertedBottleneck obj's underlying member method code with example usage: obj.forward(x) and returns: out