code: def initialize_output_tokens(self, encoder_out, src_tokens):
      # length prediction
      length_tgt = self.decoder.forward_length_prediction(
          self.decoder.forward_length(
              normalize=True, encoder_out=encoder_out
          ),
          encoder_out=encoder_out,
      )
  
      max_length = length_tgt.clamp_(min=2).max()
      idx_length = utils.new_arange(src_tokens, max_length)
  
      initial_output_tokens = src_tokens.new_zeros(
          src_tokens.size(0), max_length
      ).fill_(self.pad)
      initial_output_tokens.masked_fill_(
          idx_length[None, :] < length_tgt[:, None], self.unk
      )
      initial_output_tokens[:, 0] = self.bos
      initial_output_tokens.scatter_(
          1, length_tgt[:, None] - 1, self.eos
      )
  
      initial_output_scores = initial_output_tokens.new_zeros(
          *initial_output_tokens.size()
      ).type_as(encoder_out["encoder_out"][0])
  
      return DecoderOut(
          output_tokens=initial_output_tokens,
          output_scores=initial_output_scores,
          attn=None,
          step=0,
          max_step=0,
          history=None,
      )
  
imports: import torch
  import torch.nn.functional
  from fairseq import utils
  from fairseq.iterative_refinement_generator import DecoderOut
  from fairseq.models import register_model, register_model_architecture
  from fairseq.models.nat import FairseqNATDecoder, FairseqNATModel, ensemble_decoder
  from fairseq.models.transformer import Embedding
  from fairseq.modules.transformer_sentence_encoder import init_bert_params
label_desc: Use image node_id 6 for calling the NATransformerModel obj's underlying member method code with example usage: obj.initialize_output_tokens(encoder_out, src_tokens) and returns: DecoderOut