code: def forward(
      self, normalize, encoder_out, prev_output_tokens, step=0, **unused
  ):
      features, _ = self.extract_features(
          prev_output_tokens,
          encoder_out=encoder_out,
          embedding_copy=(step == 0) & self.src_embedding_copy,
      )
      decoder_out = self.output_layer(features)
      return (
          F.log_softmax(decoder_out, -1) if normalize else decoder_out
      )
  
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 2 for calling the NATransformerDecoder obj's underlying member method code with example usage: obj.forward(normalize, encoder_out, prev_output_tokens, step) and returns: unknown