class_docstr: The head of MobileSeg.
  
  Args:
      backbone_out_chs (List(Tensor)): The channels of output tensors in the backbone.
      arm_out_chs (List(int)): The out channels of each arm module.
      cm_bin_sizes (List(int)): The bin size of context module.
      cm_out_ch (int): The output channel of the last context module.
      arm_type (str): The type of attention refinement module.
      resize_mode (str): The resize mode for the upsampling operation in decoder.
class_docstr_tok: ["The","head","of","MobileSeg",".","Args",":","backbone_out_chs","(","List","(","Tensor",")",")",":","The","channels","of","output","tensors","in","the","backbone",".","arm_out_chs","(","List","(","int",")",")",":","The","out","channels","of","each","arm","module",".","cm_bin_sizes","(","List","(","int",")",")",":","The","bin","size","of","context","module",".","cm_out_ch","(","int",")",":","The","output","channel","of","the","last","context","module",".","arm_type","(","str",")",":","The","type","of","attention","refinement","module",".","resize_mode","(","str",")",":","The","resize","mode","for","the","upsampling","operation","in","decoder","."]
docstr: Args:
      in_feat_list (List(Tensor)): Such as [x2, x4, x8, x16, x32].
          x2, x4 and x8 are optional.
  Returns:
      out_feat_list (List(Tensor)): Such as [x2, x4, x8, x16, x32].
          x2, x4 and x8 are optional.
          The length of in_feat_list and out_feat_list are the same.
docstr_tok: ["Args",":","in_feat_list","(","List","(","Tensor",")",")",":","Such","as","[","x2",",","x4",",","x8",",","x16",",","x32","]",".","x2",",","x4","and","x8","are","optional",".","Returns",":","out_feat_list","(","List","(","Tensor",")",")",":","Such","as","[","x2",",","x4",",","x8",",","x16",",","x32","]",".","x2",",","x4","and","x8","are","optional",".","The","length","of","in_feat_list","and","out_feat_list","are","the","same","."]
code: def forward(self, in_feat_list):
      """
      Args:
          in_feat_list (List(Tensor)): Such as [x2, x4, x8, x16, x32].
              x2, x4 and x8 are optional.
      Returns:
          out_feat_list (List(Tensor)): Such as [x2, x4, x8, x16, x32].
              x2, x4 and x8 are optional.
              The length of in_feat_list and out_feat_list are the same.
      """
  
      high_feat = self.cm(in_feat_list[-1])
      out_feat_list = []
  
      for i in reversed(range(len(in_feat_list))):
          low_feat = in_feat_list[i]
          arm = self.arm_list[i]
          high_feat = arm(low_feat, high_feat)
          out_feat_list.insert(0, high_feat)
  
      if self.use_last_fuse:
          x_list = [out_feat_list[0]]
          size = paddle.shape(out_feat_list[0])[2:]
          for i, (x, conv) in enumerate(
              zip(out_feat_list[1:], self.fuse_convs)
          ):
              x = conv(x)
              x = F.interpolate(
                  x, size=size, mode="bilinear", align_corners=False
              )
              x_list.append(x)
          x = paddle.concat(x_list, axis=1)
          x = self.last_conv(x)
          out_feat_list[0] = x
  
      return out_feat_list
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg import utils
  from paddleseg.models import layers
  from paddleseg.cvlibs import manager
label_desc: Use image node_id 2 for calling the MobileSegHead obj's underlying member method code with example usage: obj.forward(in_feat_list) and returns: out_feat_list