快捷方式

ShardExpander

class torchdata.datapipes.iter.ShardExpander(source_datapipe: IterDataPipe[str])

将传入的分片字符串扩展成分片。

分片数据文件使用类似 shell 的大括号表示法命名。例如,一个分成 1200 个分片并存储在 Web 服务器上的 ImageNet 数据集可能命名为 imagenet-{000000..001199}.tar

请注意,分片名称可以在没有任何服务器事务的情况下扩展;这使得 shard_expand 可重现且独立于存储系统(与 :class .FileLister 等不同)。

参数:

source_datapipe – 生成一系列配对的 DataPipe

返回值:

生成一系列扩展路径名的 DataPipe。

示例

>>> from torchdata.datapipes.iter import IterableWrapper
>>> source_dp = IterableWrapper(["ds-{00..05}.tar"])
>>> expand_dp = source_dp.shard_expand()
>>> list(expand_dp)
['ds-00.tar', 'ds-01.tar', 'ds-02.tar', 'ds-03.tar', 'ds-04.tar', 'ds-05.tar']
>>> source_dp = IterableWrapper(["imgs_{00..05}.tar", "labels_{00..05}.tar"])
>>> expand_dp = source_dp.shard_expand()
>>> list(expand_dp)
['imgs_00.tar', 'imgs_01.tar', 'imgs_02.tar', 'labels_00.tar', 'labels_01.tar', 'labels_02.tar']

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源