快捷方式

InProcessReadingService

class torchdata.dataloader2.InProcessReadingService(prefetch_cnt: int = 0, init_fn: Optional[Callable[[Union[IterDataPipe, MapDataPipe], WorkerInfo], Union[IterDataPipe, MapDataPipe]]] = None, reset_fn: Optional[Callable[[Union[IterDataPipe, MapDataPipe], WorkerInfo, SeedGenerator], Union[IterDataPipe, MapDataPipe]]] = None)

默认的 ReadingService 用于在主进程中提供 DataPipe 图,并将图设置(如确定性控制)应用于图。

参数:
  • prefetch_cnt – (int,默认为 0):将在主进程中预取的数据数量。

  • init_fn – (Callable,可选):当主进程开始遍历 DataPipe 图时调用的自定义函数。

  • reset_fn – (Callable,可选):在每个 epoch 开始时调用的自定义函数,其预期参数为 DataPipeWorkerInfoSeedGenerator

initialize(datapipe: Union[IterDataPipe, MapDataPipe]) Union[IterDataPipe, MapDataPipe]

ReadingService 获取一个 DataPipe 图,并根据自定义需求将其适配成一个新的 DataPipe 图。在第一次创建 DataLoader2 迭代器时调用一次。在调用此方法之前,ReadingService 对象必须是可 pickle 的。

参数:

datapipe – 原始的 DataPipe 图。

返回值:

一个已适配或新的 DataPipe 图。

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]]]

ReadingService 为一个 epoch 启动服务。每次获取 DataLoader2 迭代器时开始调用。

参数:
  • seed_generator – 由 DataLoader2 创建和管理的 SeedGenerator 对象。作为随机性的唯一来源,它将控制 DataPipes 图中所有随机操作的确定性。

  • iter_reset_fn – 当 SequentialReadingService 将多个 ReadingServices 连接起来时,来自先前 ReadingServcie 的可选重置函数。

返回值:

后续 ReadingService 将使用的新的 iter_reset_fn

示例

MultiProcessingReadingService 开始为每个进程设置工作进程种子,并从图中预取项目。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

查找初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源