class_docstr: The transformer decoder.
  
  Args:
      encoder_layer(nn.Layer): The base layer to compose the decoder.
      num_layers(int): How many layers is used in the decoder.
      norm(str): the kind of normalization that used before output.
      return_intermediate(bool): Whether to output the intermediate feature.
class_docstr_tok: ["The","transformer","decoder",".","Args",":","encoder_layer","(","nn.Layer",")",":","The","base","layer","to","compose","the","decoder",".","num_layers","(","int",")",":","How","many","layers","is","used","in","the","decoder",".","norm","(","str",")",":","the","kind","of","normalization","that","used","before","output",".","return_intermediate","(","bool",")",":","Whether","to","output","the","intermediate","feature","."]
code: def __init__(
      self,
      decoder_layer,
      num_layers,
      norm=None,
      return_intermediate=True,
  ):
      super().__init__()
      self.decoder_list = nn.LayerList()
      for i in range(num_layers):
          self.decoder_list.append(copy.deepcopy(decoder_layer))
      self.norm = norm
      self.return_intermediate = return_intermediate
  
imports: import math
  import copy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.models import layers
  from paddleseg.cvlibs import manager, param_init
  from paddleseg.utils import utils
  from paddleseg.core.train import check_logits_losses
label_desc: Use image node_id 1 to create a new TransformerDecoder object from inherited base classes: nn with example: obj = TransformerDecoder(decoder_layer, num_layers, norm, return_intermediate)