快捷方式

IterToMapConverter

class torchdata.datapipes.map.IterToMapConverter(datapipe: IterDataPipe, key_value_fn: Optional[Callable] = None)

延迟加载来自 IterDataPipe 的数据,以使用由 key_value_fn 生成的键值对构造 MapDataPipe(函数名:to_map_datapipe)。如果未给出 key_value_fn,则源 IterDataPipe 中的每个数据本身必须是一个恰好包含两个对象的迭代器。每个项目的第一个对象成为新字典中的键,第二个对象成为对应的值。

对于相反的转换器,请使用 MapToIterConverter

参数:
  • datapipe – 源 IterDataPipe

  • key_value_fn – 应用于每个数据以生成键值对的函数

注意

如果添加的键已存在,则相应的 value 将被新 value 替换。

示例

>>> from torchdata.datapipes.iter import IterableWrapper
>>> source_dp = IterableWrapper([(i, i) for i in range(10)])
>>> map_dp = source_dp.to_map_datapipe()
>>> list(map_dp)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> source_dp2 = IterableWrapper([('a', 1), ('b', 2), ('c', 1)])
>>> map_dp2 = source_dp2.to_map_datapipe()
>>> map_dp2['a']
1
>>> def row_to_tuple(row):
>>>     label = row[0]
>>>     data = row[1:]
>>>     return label, data
>>> source_dp3 = IterableWrapper([('a', 1, 1, 1, 1, 1, 1), ('b', 2, 2, 2, 2, 2, 2), ('c', 3, 3, 3, 3, 3, 3)])
>>> map_dp3 = source_dp3.to_map_datapipe(key_value_fn=row_to_tuple)
>>> map_dp3['a']
(1, 1, 1, 1, 1, 1)

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源