DataLoader
- class dgl.graphbolt.DataLoader(datapipe, num_workers=0, persistent_workers=True, max_uva_threads=10240)[source]
-
多进程 DataLoader。
通过子进程迭代数据管道中特征获取之前的所有部分(即
dgl.graphbolt.FeatureFetcher
),并在主进程中处理特征获取之后的所有部分。因此,datapipe 会被就地修改。当 copy_to 操作被放置在数据管道中较早的位置时,num_workers 参数必须为 0,因为不支持在多个工作进程中利用 CUDA。
- 参数:
datapipe (DataPipe) – 数据管道。
num_workers (int, optional) – 工作进程的数量。默认为 0。
persistent_workers (bool, optional) – 如果为 True,数据加载器在使用完数据集后不会关闭工作进程。这可以保持工作进程实例的活跃状态。
max_uva_threads (int, optional) – 限制用于 UVA 复制的 CUDA 线程数量,以便其余计算可以同时运行。设置过高会限制重叠量,而设置过低可能会导致 PCI-e 带宽未被充分利用。手动调整的默认值为 10240,大约相当于 5-7 个 Streaming Multiprocessors。