code: def __init__(self, input_channels, stride, out_channels=None):
      super().__init__()
      if stride == 1:
          branch_channel = int(input_channels / 2)
      else:
          branch_channel = input_channels
  
      if out_channels is None:
          self.in_channels = int(branch_channel)
      else:
          self.in_channels = int(out_channels / 2)
  
      self._depthwise_separable_0 = _SeparableConvBNReLU(
          input_channels, self.in_channels, 3, stride=stride
      )
      self._conv = _ConvBNReLU(
          branch_channel, self.in_channels, 1, stride=1, padding=0
      )
      self._depthwise_separable_1 = _SeparableConvBNReLU(
          self.in_channels, self.in_channels, 3, stride=stride
      )
  
      self.stride = stride
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.cvlibs import manager, param_init
  from paddleseg.models import layers
  from paddleseg.utils import utils
label_desc: Use image node_id 1 to create a new InvertedResidual object from inherited base classes: nn with example: obj = InvertedResidual(input_channels, stride, out_channels)