快捷方式

预取器

class torchdata.datapipes.iter.Prefetcher(source_datapipe, buffer_size: int = 10)

从源 DataPipe 预取元素并将其放入缓冲区(函数名:prefetch)。预取会提前执行此 DataPipe 之前的 DataPipe 的操作(例如,I/O,计算),并将结果存储在缓冲区中,以便后续 DataPipe 使用。除了提前准备样本外,它没有任何影响。

当参数 worker_prefetch_cnt(用于在每个工作进程中预取)或 main_prefetch_cnt(用于在主循环中预取)大于 0 时,MultiProcessingReadingService 会使用它。

除了内置用例外,这对于在具有昂贵 I/O 操作的 I/O DataPipes 之后使用也很有用(例如,从远程服务器请求文件需要很长时间)。

参数::
  • source_datapipe – 预取样本的 IterDataPipe

  • buffer_size – 存储预取样本的缓冲区大小

示例

>>> from torchdata.datapipes.iter import IterableWrapper
>>> dp = IterableWrapper(file_paths).open_files().prefetch(5)

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得解答

查看资源