class_docstr: MultiDataLoader cycles through individual dataloaders passed to it.
  
  Attributes:
      individual_dataloaders (Dict[str, Union[DataLoader, Iterable]]): A dictionary of DataLoaders or Iterables with dataloader name as key
      and dataloader/iterable object as value.
      iteration_strategy (DataIterationStrategy): A dataclass indicating how the dataloaders are iterated over.
      iterator_cls (MultiIterator, optional): A subclass of MultiIterator defining iteration logic. This is the type, not an object instance
      ignore_empty_data (bool): skip dataloaders which contain no data. It's False by default, and an exception is raised.
  
  Note:
      `TorchData <https://pytorch.org/data/beta/index.html>`_ also has generic
      multi-data sources reading support to achieve the same functionality
      provided by MultiIterator.
      For example, `mux`, `mux_longest`, `cycle`, `zip` etc. Please refer
      to the documentation for more details.
docstr: Iterator functions for the collection of dataloaders.
  
  Returns:
      a newly created iterator based on DataIterationStrategy
code: def __iter__(self) -> Iterator[Dict[str, Any]]:
      """Iterator functions for the collection of dataloaders.
  
      Returns:
          a newly created iterator based on DataIterationStrategy
  
      """
      iterator_cls = self.iterator_cls
      if iterator_cls is None:
          iterator_cls = DataIterationStrategyRegistry.get(
              self.iteration_strategy
          )
      # pyre-fixme[16]: `MultiDataLoader` has no attribute `iterator`.
      # pyre-fixme[45]: Cannot instantiate abstract class `MultiIterator`.
      self.iterator = iterator_cls(
          individual_dataloaders=self.individual_dataloaders,
          iteration_strategy=self.iteration_strategy,
      )
      return self.iterator
  
file_path: tnt/torchtnt/utils/data/multi_dataloader.py
imports: from __future__ import annotations
  import logging
  from typing import Any, Dict, Iterable, Iterator, Optional, Type, TYPE_CHECKING, Union
  from torchtnt.utils.data.iterators import DataIterationStrategy, DataIterationStrategyRegistry, MultiIterator
  from torchtnt.utils.stateful import Stateful
label_desc: Use image node_id 2 for calling the MultiDataLoader obj's underlying member method code with example usage: obj.__iter__() and returns: self