快捷方式

Forker

class torchdata.datapipes.iter.Forker(datapipe: IterDataPipe, num_instances: int, buffer_size: int = 1000, copy: Optional[Literal['shallow', 'deep']] = None)

创建同一 Iterable DataPipe 的多个实例(函数名称:fork)。

参数:
  • datapipe – 正在复制的 Iterable DataPipe

  • num_instances – 要创建的 datapipe 实例数

  • buffer_size – 这限制了领先的子 DataPipe 相对于最慢的子 DataPipe 可以读取的距离。默认为 1000。使用 -1 表示无限缓冲区。

  • copy – 用于每个分支产生的项目的复制策略。支持的选项包括 None 表示不复制,"shallow" 表示浅层对象复制,以及 "deep" 表示深层对象复制。默认为 None

注意

除非提供 copy 参数,否则分叉管道的所有分支都返回相同的对象。如果对象是可变的或包含可变对象,则在一个分支中更改它们将影响所有其他分支。

示例

>>> # xdoctest: +REQUIRES(module:torchdata)
>>> from torchdata.datapipes.iter import IterableWrapper
>>> source_dp = IterableWrapper(range(5))
>>> dp1, dp2 = source_dp.fork(num_instances=2)
>>> list(dp1)
[0, 1, 2, 3, 4]
>>> list(dp2)
[0, 1, 2, 3, 4]

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源