分布式读取服务¶
- class torchdata.dataloader2.DistributedReadingService(timeout: int = 1800)¶
DistributedReadingSerivce
处理DataPipe
图的分布式分片,并通过在分布式进程之间共享相同的种子来保证随机性。- 参数::
timeout – 对进程组执行的操作的超时时间(以秒为单位)。默认值等于 30 分钟。
- finalize() None ¶
清理分布式进程组。
- initialize(datapipe: Union[IterDataPipe, MapDataPipe]) Union[IterDataPipe, MapDataPipe] ¶
启动
gloo
后端的分布式进程组。对DataPipe
图进行分布式分片,并在最后返回附加了FullSyncIterDataPipe
的图。
- initialize_iteration(seed_generator: SeedGenerator, iter_reset_fn: Optional[Callable[[Union[IterDataPipe, MapDataPipe]], Union[IterDataPipe, MapDataPipe]]] = None) Optional[Callable[[Union[IterDataPipe, MapDataPipe]], Union[IterDataPipe, MapDataPipe]]] ¶
将相同的种子从 rank 0 共享到分布式进程中的其他 rank,并将随机种子应用于
DataPipe
图。