class_docstr: Megatron NMT training
class_docstr_tok: ["Megatron","NMT","training"]
code: def postprocess_outputs(self, outputs, tokenizer, processor):
      # Convert ids to lists.
      outputs = outputs.cpu().numpy().tolist()
  
      # Filter out the special tokens and de-tokenize.
      results = []
      for item in outputs:
          if tokenizer.eos_id in item:
              idx = item.index(tokenizer.eos_id)
              item = item[:idx]
  
          # Legacy sentencepiece detokenization still preserves special tokens which messes up exact string match.
          if hasattr(tokenizer, "special_token_to_id"):
              item = [
                  id
                  for id in item
                  if id not in tokenizer.special_token_to_id.values()
              ]
  
          item = tokenizer.ids_to_text(item)
          results.append(item)
  
      if processor is not None:
          results = [
              processor.detokenize(item.split(" ")) for item in results
          ]
  
      return results
  
imports: import enum
  import itertools
  import random
  from typing import List, Optional
  import numpy
  import torch
  from omegaconf.dictconfig import DictConfig
  from omegaconf.listconfig import ListConfig
  from pytorch_lightning.trainer.trainer import Trainer
  from sacrebleu import corpus_bleu
  from nemo.collections.nlp.data.common.sequence_to_sequence_dataset import BinarizedMemmapSequenceToSequenceDataset, TextMemmapSequenceToSequenceDataset
  from nemo.collections.nlp.data.language_modeling.megatron.base_dataset_utils import get_datasets_weights_and_num_samples
  from nemo.collections.nlp.data.language_modeling.megatron.blendable_dataset import BlendableDataset
  from nemo.collections.nlp.data.language_modeling.megatron.megatron_batch_samplers import MegatronPretrainingBatchSampler
  from nemo.collections.nlp.data.language_modeling.megatron.xlm_dataset import BinarizedMemmapCrossLingualMLMAndTranslationDataset, TextMemmapCrossLingualMLMAndTranslationDataset
  from nemo.collections.nlp.models.language_modeling.megatron_lm_encoder_decoder_model import MegatronLMEncoderDecoderModel
  from nemo.collections.nlp.models.language_modeling.megatron_t5_model import MegatronT5Model
  from nemo.collections.nlp.models.machine_translation.mt_enc_dec_model import MTEncDecModel
  from nemo.collections.nlp.modules.common.megatron.megatron_export import DecEmb, EncEmb, TokensHeadEmb
  from nemo.collections.nlp.modules.common.megatron.utils import get_iterator_k_split
  from nemo.collections.nlp.parts.nlp_overrides import GlobalBatchDataFetcher
  from nemo.collections.nlp.parts.utils_funcs import get_last_rank
  from nemo.core.classes import Exportable
  from nemo.utils import AppState, logging, timers
label_desc: Use image node_id 9 for calling the MegatronNMTModel obj's underlying member method code with example usage: obj.postprocess_outputs(outputs, tokenizer, processor) and returns: results