class_docstr: A wrapper to convert DataLoader as an infinite iterator.
  
  Modified from:
      https://github.com/open-mmlab/mmcv/blob/master/mmcv/runner/iter_based_runner.py
class_docstr_tok: ["A","wrapper","to","convert","DataLoader","as","an","infinite","iterator",".","Modified","from",":","https",":","\/\/github.com\/open-mmlab\/mmcv\/blob\/master\/mmcv\/runner\/iter_based_runner.py"]
code: def __next__(self):
      try:
          data = next(self.iter_loader)
      except StopIteration:
          self._epoch += 1
          if (
              hasattr(self._dataloader.sampler, "set_epoch")
              and self._use_distributed
          ):
              self._dataloader.sampler.set_epoch(self._epoch)
          time.sleep(
              2
          )  # Prevent possible deadlock during epoch transition
          self.iter_loader = iter(self._dataloader)
          data = next(self.iter_loader)
  
      return data
  
imports: import time
  import random
  import torch
  from lavis.datasets.data_utils import move_to_cuda
  from torch.utils.data import DataLoader
label_desc: Use image node_id 3 for calling the IterLoader obj's underlying member method code with example usage: obj.__next__() and returns: data