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","."]
code: def __init__(
      self,
      backbone_out_chs,
      arm_out_chs,
      cm_bin_sizes,
      cm_out_ch,
      arm_type,
      resize_mode,
      use_last_fuse,
  ):
      super().__init__()
  
      self.cm = MobileContextModule(
          backbone_out_chs[-1], cm_out_ch, cm_out_ch, cm_bin_sizes
      )
  
      assert hasattr(
          layers, arm_type
      ), "Not support arm_type ({})".format(arm_type)
      arm_class = eval("layers." + arm_type)
  
      self.arm_list = nn.LayerList()  # [..., arm8, arm16, arm32]
      for i in range(len(backbone_out_chs)):
          low_chs = backbone_out_chs[i]
          high_ch = (
              cm_out_ch
              if i == len(backbone_out_chs) - 1
              else arm_out_chs[i + 1]
          )
          out_ch = arm_out_chs[i]
          arm = arm_class(
              low_chs, high_ch, out_ch, ksize=3, resize_mode=resize_mode
          )
          self.arm_list.append(arm)
  
      self.use_last_fuse = use_last_fuse
      if self.use_last_fuse:
          self.fuse_convs = nn.LayerList()
          for i in range(1, len(arm_out_chs)):
              conv = layers.SeparableConvBNReLU(
                  arm_out_chs[i],
                  arm_out_chs[0],
                  kernel_size=3,
                  bias_attr=False,
              )
              self.fuse_convs.append(conv)
          self.last_conv = layers.SeparableConvBNReLU(
              len(arm_out_chs) * arm_out_chs[0],
              arm_out_chs[0],
              kernel_size=3,
              bias_attr=False,
          )
  
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 1 to create a new MobileSegHead object from inherited base classes: nn with example: obj = MobileSegHead(backbone_out_chs, arm_out_chs, cm_bin_sizes, cm_out_ch, arm_type, resize_mode, use_last_fuse)