轮询解复用器¶
- class torchdata.datapipes.iter.RoundRobinDemultiplexer(datapipe: IterDataPipe, num_instances: int, buffer_size: int = 1000)¶
以轮询顺序将输入 DataPipe 拆分为多个子 DataPipe(功能名称:
round_robin_demux
)。此操作将返回子 DataPipe 的列表。- 参数::
datapipe – 正在过滤的可迭代 DataPipe
num_instances – 要创建的 DataPipe 实例数
buffer_size – 这定义了缓冲区在所有子 DataPipe 中可以容纳的最大输入数量,同时等待它们的值被生成。默认值为
1000
。对于无限制缓冲区,请使用-1
。
示例
>>> from torchdata.datapipes.iter import IterableWrapper >>> source_dp = IterableWrapper(range(5)) >>> dp1, dp2 = source_dp.round_robin_demux(2) >>> list(dp1) [0, 2, 4] >>> len(dp1) 3 >>> list(dp2) [1, 3] >>> len(dp2) 2