快捷方式

Mapper

class torchdata.datapipes.iter.Mapper(datapipe: IterDataPipe, fn: Callable, input_col=None, output_col=None)

对来自源 DataPipe 的每个项目应用一个函数(函数名称:map)。

该函数可以是任何常规 Python 函数或部分对象。不建议使用 Lambda 函数,因为它不受 pickle 支持。

参数:
  • datapipe – 源可迭代 DataPipe

  • fn – 应用于每个项目的函数

  • input_col

    应用 fn 的数据的索引或索引,例如

    • None 作为默认值,将 fn 直接应用于数据。

    • 整数用于列表/元组。

    • 键用于字典。

  • output_col

    放置 fn 结果的数据索引。仅当 input_col 不为 None 时才能指定 output_col

    • None 作为默认值,替换 input_col 指定的索引;对于具有多个索引的 input_col,使用最左边的索引,并将其他索引删除。

    • 整数用于列表/元组。-1 表示将结果追加到末尾。

    • 键用于字典。新的键是可以接受的。

示例

>>> # xdoctest: +SKIP
>>> from torchdata.datapipes.iter import IterableWrapper, Mapper
>>> def add_one(x):
...     return x + 1
>>> dp = IterableWrapper(range(10))
>>> map_dp_1 = dp.map(add_one)  # Invocation via functional form is preferred
>>> list(map_dp_1)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> # We discourage the usage of `lambda` functions as they are not serializable with `pickle`
>>> # Use `functools.partial` or explicitly define the function instead
>>> map_dp_2 = Mapper(dp, lambda x: x + 1)
>>> list(map_dp_2)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源