code: def __init__(self, args, source_dictionaries, target_dictionaries):
      self.source_dictionaries = source_dictionaries
      self.target_dictionaries = target_dictionaries
  
      # Mapping from language IDs to language codes. During training
      # this list is fully populated. During generation we typically
      # have only a single source/target dictionary, thus it is important to
      # call set_encoder/decoder_langs to properly populate these.
      self.encoder_langs = list(source_dictionaries.keys())
      self.decoder_langs = list(target_dictionaries.keys())
  
      self.src_dict = pytorch_translate_dictionary.MaxVocabDictionary()
      for d in source_dictionaries.values():
          self.src_dict.push(d)
      self.tgt_dict = pytorch_translate_dictionary.MaxVocabDictionary()
      for d in target_dictionaries.values():
          self.tgt_dict.push(d)
  
      super().__init__(args, self.src_dict, self.tgt_dict)
  
imports: import os
  from collections import OrderedDict
  from typing import Dict, List, Optional, Tuple
  import numpy
  from fairseq import data, options
  from fairseq.data import ConcatDataset, LanguagePairDataset, NoisingDataset
  from fairseq.data.multi_corpus_sampled_dataset import MultiCorpusSampledDataset
  from fairseq.data.noising import UnsupervisedMTNoising
  from fairseq.tasks import LegacyFairseqTask, register_task
  from pytorch_translate import constants, utils
  from pytorch_translate.data import char_data, data, dictionary, utils, weighted_data
  from pytorch_translate.data.language_pair_upsampling_dataset import LanguagePairUpsamplingDataset
  from pytorch_translate.research.multisource import multisource_data
label_desc: Use image node_id 1 to create a new PytorchTranslateMultilingualTask object from inherited base classes: PytorchTranslateTask with example: obj = PytorchTranslateMultilingualTask(args, source_dictionaries, target_dictionaries)