UnZipper¶
- class torchdata.datapipes.map.UnZipper(source_datapipe: MapDataPipe[Sequence[T]], sequence_length: int, columns_to_skip: Optional[Sequence[int]] = None)¶
接受一系列序列的 DataPipe,解压缩每个序列,并根据序列中的位置返回单独的 DataPipes 中的元素(函数名称:
unzip
)。生成的实例数量等于sequence_legnth
减去要跳过的列数。注意
DataPipe 中的每个序列应具有相同的长度,由输入参数 sequence_length 指定。
- 参数:
source_datapipe – 具有数据序列的可迭代 DataPipe
sequence_length – source_datapipe 中序列的长度。所有元素应具有相同的长度。
columns_to_skip – DataPipe 应跳过的列的可选索引(每个索引应是 0 到 sequence_length - 1 之间的整数)
示例
>>> from torchdata.datapipes.map import SequenceWrapper >>> source_dp = SequenceWrapper([(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]