当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch Mapper用法及代码示例


本文简要介绍python语言中 torchdata.datapipes.iter.Mapper 的用法。

用法:

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

参数

  • datapipe-源可迭代DataPipe

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

  • input_col-

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

    • None 默认将fn 直接应用于数据。

    • 整数用于列表/元组。

    • 键用于字典。

  • output_col-

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

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

    • 整数用于列表/元组。 -1 表示在最后追加结果。

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

对源 DataPipe 中的每个项目应用函数(函数名称:map )。该函数可以是任何常规 Python 函数或部分对象。不推荐使用 Lambda 函数,因为 pickle 不支持它。

示例

>>> 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.org大神的英文原创作品 torchdata.datapipes.iter.Mapper。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。