class_docstr: Second phase of decoder layer block
      Each layer will be of type TransformerDecoderLayerPhase2
  Args:
      args (argparse.Namespace): parsed command-line arguments
      dictionary (~fairseq.data.Dictionary): encoding dictionary
      embed_tokens (torch.nn.Embedding): input embedding
      no_encoder_decoder_attn: If encoder decoder attention is required or not
docstr: Maximum output length supported by the decoder.
docstr_tok: ["Maximum","output","length","supported","by","the","decoder","."]
code: def max_positions(self):
      """Maximum output length supported by the decoder."""
      if self.embed_positions is None:
          return self.max_target_positions
      return min(
          self.max_target_positions, self.embed_positions.max_positions
      )
  
imports: import math
  import torch
  import torch.nn
  import torch.nn.functional
  from fairseq import options, utils
  from fairseq.models import FairseqEncoderDecoderModel, FairseqIncrementalDecoder, register_model, register_model_architecture
  from fairseq.models.transformer import Embedding, Linear, TransformerDecoder, TransformerEncoder
  from fairseq.modules import AdaptiveSoftmax, LayerNorm, MultiheadAttention, PositionalEmbedding, SinusoidalPositionalEmbedding
label_desc: Use image node_id 5 for calling the TransformerDecoderPhase2 obj's underlying member method code with example usage: obj.max_positions() and returns: min, self