class_docstr: A simple implementation for FCN based on PaddlePaddle.
  
  The original article refers to
  Evan Shelhamer, et, al. "Fully Convolutional Networks for Semantic Segmentation"
  (https://arxiv.org/abs/1411.4038).
  
  Args:
      num_classes (int): The unique number of target classes.
      backbone (paddle.nn.Layer): Backbone networks.
      backbone_indices (tuple, optional): The values in the tuple indicate the indices of output of backbone.
          Default: (-1, ).
      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.
      align_corners (bool): An argument of F.interpolate. It should be set to False when the output size of feature
          is even, e.g. 1024x512, otherwise it is True, e.g. 769x769.  Default: False.
      pretrained (str, optional): The path or url of pretrained model. Default: None
code: def __init__(
      self,
      num_classes,
      backbone,
      backbone_indices=(-1,),
      channels=None,
      align_corners=False,
      pretrained=None,
      bias=True,
      data_format="NCHW",
  ):
      super(FCN, self).__init__()
  
      if data_format != "NCHW":
          raise ("fcn only support NCHW data format")
      self.backbone = backbone
      backbone_channels = [
          backbone.feat_channels[i] for i in backbone_indices
      ]
  
      self.head = FCNHead(
          num_classes,
          backbone_indices,
          backbone_channels,
          channels,
          bias=bias,
      )
  
      self.align_corners = align_corners
      self.pretrained = pretrained
      self.data_format = data_format
      self.init_weight()
  
file_path: PaddleSeg/paddleseg/models/fcn.py
imports: import paddle.nn
  import paddle.nn.functional
  import paddle
  from paddleseg import utils
  from paddleseg.cvlibs import manager, param_init
  from paddleseg.models import layers
label_desc: Use image node_id 1 to create a new FCN object from inherited base classes: nn with example: obj = FCN(num_classes, backbone, backbone_indices, channels, align_corners, pretrained, bias, data_format)