code: def _load_dataset_multi_path(
      self,
      split: str,
      src_bin_path: str,
      tgt_bin_path: str,
      is_npz: bool = True,
  ):
      assert type(tgt_bin_path) is not str
      assert set(src_bin_path.keys()) == set(tgt_bin_path.keys())
      source_lang = self.args.source_lang or "src"
      target_lang = self.args.target_lang or "tgt"
      direction = source_lang + "-" + target_lang
      dataset_upsampling = (
          pytorch_translate_utils.maybe_parse_collection_argument(
              self.args.dataset_upsampling
          )[direction]
          if self.args.dataset_upsampling
          else None
      )
      dataset_relative_ratio = (
          pytorch_translate_utils.maybe_parse_collection_argument(
              self.args.dataset_relative_ratio
          )[direction]
          if self.args.dataset_relative_ratio
          else None
      )
      noiser = {}
      noise_options = [
          "word_dropout_prob",
          "max_word_shuffle_distance",
          "word_blanking_prob",
      ]
      for option in noise_options:
          option_map = getattr(self.args, option + "_map", None)
          if option_map:
              option_map = pytorch_translate_utils.maybe_parse_collection_argument(
                  option_map
              )[
                  direction
              ]
              for key in option_map:
                  if key not in noiser:
                      noiser[key] = {
                          noise_option: None
                          for noise_option in noise_options
                      }
                  noiser[key][option] = option_map[key]
  
      for key in noiser:
          noiser[key] = UnsupervisedMTNoising(
              dictionary=self.src_dict,
              max_word_shuffle_distance=noiser[key][
                  "max_word_shuffle_distance"
              ]
              or 0,
              word_dropout_prob=noiser[key]["word_dropout_prob"] or 0,
              word_blanking_prob=noiser[key]["word_blanking_prob"] or 0,
          )
  
      if dataset_relative_ratio is not None:
          assert dataset_upsampling is None, "dataset_upsampling and "
          "dataset_relative_ratio couldn't be specified together."
          assert dataset_relative_ratio[0] in src_bin_path.keys()
          self._load_dataset_multi_path_helper(
              split=split,
              src_multiple_bin_paths=src_bin_path,
              tgt_multiple_bin_paths=tgt_bin_path,
              dataset_relative_ratio=dataset_relative_ratio,
              seed=self.args.seed,
              noiser=noiser,
              is_npz=is_npz,
          )
      elif dataset_upsampling is not None:
          for key in dataset_upsampling.keys():
              assert key in src_bin_path.keys()
          self._load_dataset_multi_path_helper(
              split=split,
              src_multiple_bin_paths=src_bin_path,
              tgt_multiple_bin_paths=tgt_bin_path,
              dataset_upsampling=dataset_upsampling,
              seed=self.args.seed,
              noiser=noiser,
              is_npz=is_npz,
          )
      else:
          self._load_dataset_multi_path_helper(
              split=split,
              src_multiple_bin_paths=src_bin_path,
              tgt_multiple_bin_paths=tgt_bin_path,
              seed=self.args.seed,
              noiser=noiser,
              is_npz=is_npz,
          )
  
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 8 for calling the PytorchTranslateTask obj's underlying member method code with example usage: obj._load_dataset_multi_path(split, src_bin_path, tgt_bin_path, is_npz) without return types