class_docstr: A simple implementation for FCNHead based on PaddlePaddle
  
  Args:
      num_classes (int): The unique number of target classes.
      backbone_indices (tuple, optional): The values in the tuple indicate the indices of output of backbone.
          Default: (-1, ).
      backbone_channels (tuple): The values of backbone channels.
          Default: (270, ).
      channels (int, optional): The channels between conv layer and the last layer of FCNHead.
          If None, it will be the number of channels of input features. Default: None.
      pretrained (str, optional): The path of pretrained model. Default: None
class_docstr_tok: ["A","simple","implementation","for","FCNHead","based","on","PaddlePaddle","Args",":","num_classes","(","int",")",":","The","unique","number","of","target","classes",".","backbone_indices","(","tuple",",","optional",")",":","The","values","in","the","tuple","indicate","the","indices","of","output","of","backbone",".","Default",":","(","-1",",",")",".","backbone_channels","(","tuple",")",":","The","values","of","backbone","channels",".","Default",":","(","270",",",")",".","channels","(","int",",","optional",")",":","The","channels","between","conv","layer","and","the","last","layer","of","FCNHead",".","If","None",",","it","will","be","the","number","of","channels","of","input","features",".","Default",":","None",".","pretrained","(","str",",","optional",")",":","The","path","of","pretrained","model",".","Default",":","None"]
code: def __init__(
      self,
      num_classes: int,
      backbone_indices: Tuple[int] = (-1,),
      backbone_channels: Tuple[int] = (270,),
      channels: int = None,
  ):
      super(FCNHead, self).__init__()
  
      self.num_classes = num_classes
      self.backbone_indices = backbone_indices
      if channels is None:
          channels = backbone_channels[0]
  
      self.conv_1 = layers.ConvBNReLU(
          in_channels=backbone_channels[0],
          out_channels=channels,
          kernel_size=1,
          padding="same",
          stride=1,
      )
      self.cls = nn.Conv2D(
          in_channels=channels,
          out_channels=self.num_classes,
          kernel_size=1,
          stride=1,
          padding=0,
      )
  
file_path: PaddleHub/modules/image/semantic_segmentation/fcn_hrnetw18_voc/module.py
imports: import os
  from typing import Union, List, Tuple
  import paddle
  from paddle import nn
  import paddle.nn.functional
  import numpy
  from paddlehub.module.module import moduleinfo
  import paddlehub.vision.segmentation_transforms
  from paddlehub.module.cv_module import ImageSegmentationModule
  from fcn_hrnetw18_voc.hrnet import HRNet_W18
  import fcn_hrnetw18_voc.layers
label_desc: Use image node_id 1 to create a new FCNHead object from inherited base classes: nn with example: obj = FCNHead(num_classes, backbone_indices, backbone_channels, channels)