code: def __iter__(self):
      # Spread work as mod(N)
      worker_info = torch.utils.data.get_worker_info()
      if worker_info is None:
          return iter(range(self.num_samples))
      else:
          return iter(
              range(
                  worker_info.id,
                  self.num_samples,
                  worker_info.num_workers,
              )
          )
  
file_path: ClassyVision/test/dataloader_async_gpu_wrapper_test.py
imports: import unittest
  import numpy
  import torch
  import torchvision.transforms
  from classy_vision.dataset.dataloader_async_gpu_wrapper import DataloaderAsyncGPUWrapper
  from PIL import Image
  from torch.utils.data import DataLoader, Dataset
label_desc: Use image node_id 2 for calling the ZeroImageDataset obj's underlying member method code with example usage: obj.__iter__() and returns: iter, iter