class_docstr: Fast-SCNN Backbone.
  
  Args:
      in_channels (int): Number of input image channels. Default: 3.
      downsample_dw_channels (tuple[int]): Number of output channels after
          the first conv layer & the second conv layer in
          Learning-To-Downsample (LTD) module.
          Default: (32, 48).
      global_in_channels (int): Number of input channels of
          Global Feature Extractor(GFE).
          Equal to number of output channels of LTD.
          Default: 64.
      global_block_channels (tuple[int]): Tuple of integers that describe
          the output channels for each of the MobileNet-v2 bottleneck
          residual blocks in GFE.
          Default: (64, 96, 128).
      global_block_strides (tuple[int]): Tuple of integers
          that describe the strides (downsampling factors) for each of the
          MobileNet-v2 bottleneck residual blocks in GFE.
          Default: (2, 2, 1).
      global_out_channels (int): Number of output channels of GFE.
          Default: 128.
      higher_in_channels (int): Number of input channels of the higher
          resolution branch in FFM.
          Equal to global_in_channels.
          Default: 64.
      lower_in_channels (int): Number of input channels of  the lower
          resolution branch in FFM.
          Equal to global_out_channels.
          Default: 128.
      fusion_out_channels (int): Number of output channels of FFM.
          Default: 128.
      out_indices (tuple): Tuple of indices of list
          [higher_res_features, lower_res_features, fusion_output].
          Often set to (0,1,2) to enable aux. heads.
          Default: (0, 1, 2).
      conv_cfg (dict | None): Config of conv layers. Default: None
      norm_cfg (dict | None): Config of norm layers. Default:
          dict(type='BN')
      act_cfg (dict): Config of activation layers. Default:
          dict(type='ReLU')
      align_corners (bool): align_corners argument of F.interpolate.
          Default: False
class_docstr_tok: ["Fast-SCNN","Backbone",".","Args",":","in_channels","(","int",")",":","Number","of","input","image","channels",".","Default",":","3.","downsample_dw_channels","(","tuple","[","int","]",")",":","Number","of","output","channels","after","the","first","conv","layer","&","the","second","conv","layer","in","Learning-To-Downsample","(","LTD",")","module",".","Default",":","(","32",",","48",")",".","global_in_channels","(","int",")",":","Number","of","input","channels","of","Global","Feature","Extractor","(","GFE",")",".","Equal","to","number","of","output","channels","of","LTD",".","Default",":","64.","global_block_channels","(","tuple","[","int","]",")",":","Tuple","of","integers","that","describe","the","output","channels","for","each","of","the","MobileNet-v2","bottleneck","residual","blocks","in","GFE",".","Default",":","(","64",",","96",",","128",")",".","global_block_strides","(","tuple","[","int","]",")",":","Tuple","of","integers","that","describe","the","strides","(","downsampling","factors",")","for","each","of","the","MobileNet-v2","bottleneck","residual","blocks","in","GFE",".","Default",":","(","2",",","2",",","1",")",".","global_out_channels","(","int",")",":","Number","of","output","channels","of","GFE",".","Default",":","128.","higher_in_channels","(","int",")",":","Number","of","input","channels","of","the","higher","resolution","branch","in","FFM",".","Equal","to","global_in_channels",".","Default",":","64.","lower_in_channels","(","int",")",":","Number","of","input","channels","of","the","lower","resolution","branch","in","FFM",".","Equal","to","global_out_channels",".","Default",":","128.","fusion_out_channels","(","int",")",":","Number","of","output","channels","of","FFM",".","Default",":","128.","out_indices","(","tuple",")",":","Tuple","of","indices","of","list","[","higher_res_features",",","lower_res_features",",","fusion_output","]",".","Often","set","to","(","0,1,2",")","to","enable","aux",".","heads",".","Default",":","(","0",",","1",",","2",")",".","conv_cfg","(","dict","|","None",")",":","Config","of","conv","layers",".","Default",":","None","norm_cfg","(","dict","|","None",")",":","Config","of","norm","layers",".","Default",":","dict","(","type='BN","'",")","act_cfg","(","dict",")",":","Config","of","activation","layers",".","Default",":","dict","(","type='ReLU","'",")","align_corners","(","bool",")",":","align_corners","argument","of","F.interpolate",".","Default",":","False"]
code: def forward(self, x):
      higher_res_features = self.learning_to_downsample(x)
      lower_res_features = self.global_feature_extractor(
          higher_res_features
      )
      fusion_output = self.feature_fusion(
          higher_res_features, lower_res_features
      )
  
      outs = [higher_res_features, lower_res_features, fusion_output]
      outs = [outs[i] for i in self.out_indices]
      return tuple(outs)
  
imports: import torch
  import torch.nn
  from annotator.uniformer.mmcv.cnn import ConvModule, DepthwiseSeparableConvModule, constant_init, kaiming_init
  from torch.nn.modules.batchnorm import _BatchNorm
  from annotator.uniformer.mmseg.models.decode_heads.psp_head import PPM
  from annotator.uniformer.mmseg.ops import resize
  from ..builder import BACKBONES
  from ..utils.inverted_residual import InvertedResidual
label_desc: Use image node_id 3 for calling the FastSCNN obj's underlying member method code with example usage: obj.forward(x) and returns: tuple