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


Python PyTorch MapKeyZipper用法及代码示例


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

用法:

class torchdata.datapipes.iter.MapKeyZipper(source_iterdatapipe: IterDataPipe, map_datapipe: MapDataPipe, key_fn: Callable, merge_fn: Optional[Callable] = None)

参数

  • source_iterdatapipe-IterDataPipe 中的项目是收益并将与 map_datapipe 中的项目合并

  • map_datapipe-MapDataPipe 从 key_fn 获取 key 并返回一个项目

  • key_fn-source_iterdatapipe中的每个项目映射到map_datapipe中存在的键的函数

  • merge_fn-source_iterdatapipe 中的项目和 map_datapipe 中的匹配项目组合在一起的函数,默认情况下会创建一个元组

将源 IterDataPipe 中的项目与 MapDataPipe 中的项目连接起来(函数名称: zip_with_map )。匹配是通过提供的 key_fn 完成的,它将 source_iterdatapipe 中的项映射到 map_datapipe 中应存在的键。返回值由 merge_fn 创建,默认返回两个项目的元组。

示例

>>> from torchdata.datapipes.iter import IterableWrapper
>>> from torchdata.datapipes.map import SequenceWrapper
>>> from operator import itemgetter
>>> def merge_fn(tuple_from_iter, value_from_map):
>>>     return tuple_from_iter[0], tuple_from_iter[1] + value_from_map
>>> dp1 = IterableWrapper([('a', 1), ('b', 2), ('c', 3)])
>>> mapdp = SequenceWrapper({'a': 100, 'b': 200, 'c': 300, 'd': 400})
>>> res_dp = dp1.zip_with_map(map_datapipe=mapdp, key_fn=itemgetter(0), merge_fn=merge_fn)
>>> list(res_dp)
[('a', 101), ('b', 202), ('c', 303)]

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torchdata.datapipes.iter.MapKeyZipper。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。