class_docstr: The SETR implementation based on PaddlePaddle.
  
  The original article refers to
      Zheng, Sixiao, et al. "Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers"
      (https://arxiv.org/abs/2012.15840)
  
  Args:
      num_classes (int): The unique number of target classes.
      backbone (Paddle.nn.Layer): Backbone network.
      backbone_indices (tuple): A tuple indicates the indices of output of backbone.
          It can be either one or two values, if two values, the first index will be taken as
          a deep-supervision feature in auxiliary layer; the second one will be taken as
          input of pixel representation. If one value, it is taken by both above.
      head (str, optional): SETR head type(naive, pup or mla). Default: naive.
      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.
class_docstr_tok: ["The","SETR","implementation","based","on","PaddlePaddle",".","The","original","article","refers","to","Zheng",",","Sixiao",",","et","al",".","``","Rethinking","Semantic","Segmentation","from","a","Sequence-to-Sequence","Perspective","with","Transformers","''","(","https",":","\/\/arxiv.org\/abs\/2012.15840",")","Args",":","num_classes","(","int",")",":","The","unique","number","of","target","classes",".","backbone","(","Paddle.nn.Layer",")",":","Backbone","network",".","backbone_indices","(","tuple",")",":","A","tuple","indicates","the","indices","of","output","of","backbone",".","It","can","be","either","one","or","two","values",",","if","two","values",",","the","first","index","will","be","taken","as","a","deep-supervision","feature","in","auxiliary","layer",";","the","second","one","will","be","taken","as","input","of","pixel","representation",".","If","one","value",",","it","is","taken","by","both","above",".","head","(","str",",","optional",")",":","SETR","head","type","(","naive",",","pup","or","mla",")",".","Default",":","naive",".","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 forward(self, x):
      x_shape = paddle.shape(x)
      feats, _shape = self.backbone(x)
      logits = self.head(feats, _shape)
      return [
          F.interpolate(
              _logit,
              x_shape[2:],
              mode="bilinear",
              align_corners=self.align_corners,
          )
          for _logit in logits
      ]
  
imports: import paddle.nn
  import paddle.nn.functional
  import paddle
  from paddleseg.cvlibs import manager, param_init
  from paddleseg.models import layers
  from paddleseg.utils import utils
label_desc: Use image node_id 3 for calling the SegmentationTransformer obj's underlying member method code with example usage: obj.forward(x) and returns: unknown