code: def __init__(
      self,
      loaders: Dict[str, DataLoader],
      iteration_strategy: iteration_strategies.IterationStrategy = None,
  ):
      if loaders is None or len(loaders) == 0:
          warnings.warn(
              "Empty loaders passed into MultiDataLoader. This can have "
              "unintended consequences."
          )
  
      if iteration_strategy is None:
          iteration_strategy = (
              iteration_strategies.RoundRobinIterationStrategy(
                  OmegaConf.create(), loaders
              )
          )
  
      self._iteration_strategy = iteration_strategy
      self._loaders = loaders
      self._is_main = is_main()
      self._num_datasets = len(self.loaders)
      self.dataset_list = list(loaders.keys())
      self._iterators = {}
      self._finished_iterators = {}
  
      self.current_index = 0
      self.set_lengths()
      self.set_samplers()
  
imports: import logging
  import warnings
  from typing import Dict, Iterator
  import torch
  from mmf.common.sample import convert_batch_to_sample_list, SampleList
  from mmf.datasets import iteration_strategies
  from mmf.utils.build import build_dataloader_and_sampler, build_dataset
  from mmf.utils.dataset import dataset_list_from_config
  from mmf.utils.distributed import broadcast_scalar, get_world_size, is_dist_initialized, is_main, is_xla
  from mmf.utils.general import get_batch_size, get_current_device
  from omegaconf import OmegaConf
  from torch.utils.data.dataloader import DataLoader, Sampler
label_desc: Use image node_id 1 to create a new MultiDataLoader object  with example: obj = MultiDataLoader(loaders, iteration_strategy)