地图样式的 DataPipes¶
Map 风格的 DataPipe 是实现 and 协议的 DataPipe,它表示一个 map
from (可能是非整数的) indices/keys to data samples.__getitem__()
__len__()
例如,当使用 进行访问时,可以读取第 --个图像及其
磁盘上文件夹中的相应标签。mapdatapipe[idx]
idx
- 类 torchdata.datapipes.map。MapDataPipe(*args, **kwds)¶
Map-style DataPipe 的 DataPipe 方法。
表示从键到数据样本的映射的所有数据集都应该子类化 this。 子类应该覆盖 ,支持获取 给定唯一键的数据示例。子类还可以选择覆盖 ,预计许多实现和默认选项会返回数据集的大小 之。
__getitem__()
__len__()
Sampler
DataLoader
可以通过两种方式调用这些 DataPipe,使用类构造函数或应用它们的 功能形式添加到现有的 MapDataPipe 上(推荐,适用于大多数但不是所有 DataPipe)。
注意
DataLoader
默认情况下,构造一个索引 sampler 生成整数索引。使其使用地图样式 DataPipe 替换为非整型索引/键,则必须提供自定义采样器。例
>>> from torchdata.datapipes.map import SequenceWrapper, Mapper >>> dp = SequenceWrapper(range(10)) >>> map_dp_1 = dp.map(lambda x: x + 1) # Using functional form (recommended) >>> list(map_dp_1) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> map_dp_2 = Mapper(dp, lambda x: x + 1) # Using class constructor >>> list(map_dp_2) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> batch_dp = map_dp_1.batch(batch_size=2) >>> list(batch_dp) [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
以下是可用的 Map 样式 DataPipe 的列表:
数据管道¶
创建小批量数据(函数名称:)。 |
|
连接多个 Map DataPipes(函数名称:)。 |
|
延迟加载数据以构造 a 和 (function name: ) 生成的键值对。 |
|
将输入函数应用于源 DataPipe 中的每个项目(函数名称:)。 |
|
将序列对象包装到 MapDataPipe 中。 |
|
通过其索引(函数名称:)对输入 DataPipe 进行随机排序。 |
|
将每个输入 DataPipes 的元素聚合到一个元组中(函数名称:)。 |