class_docstr: Wraps a datapipe with multiprocessing.
  
  Parameters
  ----------
  datapipe : DataPipe
      The data pipeline.
  num_workers : int, optional
      The number of worker processes. Default is 0, meaning that there
      will be no multiprocessing.
  persistent_workers : bool, optional
      If True, the data loader will not shut down the worker processes after a
      dataset has been consumed once. This allows to maintain the workers
      instances alive.
class_docstr_tok: ["Wraps","a","datapipe","with","multiprocessing",".","Parameters","--","--","--","--","--","datapipe",":","DataPipe","The","data","pipeline",".","num_workers",":","int",",","optional","The","number","of","worker","processes",".","Default","is","0",",","meaning","that","there","will","be","no","multiprocessing",".","persistent_workers",":","bool",",","optional","If","True",",","the","data","loader","will","not","shut","down","the","worker","processes","after","a","dataset","has","been","consumed","once",".","This","allows","to","maintain","the","workers","instances","alive","."]
code: def __iter__(self):
      yield from self.dataloader
  
file_path: dgl/python/dgl/graphbolt/dataloader.py
imports: import torch.utils.data
  import torchdata.dataloader2.graph
  import torchdata.datapipes
  from .base import CopyTo
  from .feature_fetcher import FeatureFetcher
  from .internal import datapipe_graph_to_adjlist
  from .item_sampler import ItemSampler
label_desc: Use image node_id 2 for calling the MultiprocessingWrapper obj's underlying member method code with example usage: obj.__iter__() without return types