快捷方式

UnZipper

class torchdata.datapipes.iter.UnZipper(source_datapipe: IterDataPipe[Sequence[T]], sequence_length: int, buffer_size: int = 1000, columns_to_skip: Optional[Sequence[int]] = None)

接收一个包含序列的 DataPipe,解包每个序列,并根据它们在序列中的位置将元素返回到单独的 DataPipe 中(函数名:unzip)。生成的实例数量等于序列长度减去要跳过的列数。

注意

DataPipe 中的每个序列都应该具有相同的长度,由输入参数 sequence_length 指定。

参数:
  • source_datapipe – 包含数据序列的可迭代 DataPipe

  • sequence_length – source_datapipe 中序列的长度。所有元素都应该具有相同的长度。

  • buffer_size – 这限制了领先子 DataPipe 相对于最慢子 DataPipe 的读取范围。使用 -1 表示无限缓冲区。

  • columns_to_skip – DataPipe 应该跳过的列的可选索引(每个索引都应该是一个从 0 到 sequence_length - 1 的整数)

示例

>>> from torchdata.datapipes.iter import IterableWrapper
>>> source_dp = IterableWrapper([(i, i + 10, i + 20) for i in range(3)])
>>> dp1, dp2, dp3 = source_dp.unzip(sequence_length=3)
>>> list(dp1)
[0, 1, 2]
>>> list(dp2)
[10, 11, 12]
>>> list(dp3)
[20, 21, 22]

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源