本文简要介绍python语言中 torchdata.datapipes.iter.IterKeyZipper
的用法。
用法:
class torchdata.datapipes.iter.IterKeyZipper(source_datapipe: IterDataPipe, ref_datapipe: IterDataPipe, key_fn: Callable, ref_key_fn: Optional[Callable] = None, keep_key: bool = False, buffer_size: int = 10000, merge_fn: Optional[Callable] = None)
source_datapipe-IterKeyZipper 将根据 IterDataPipe 的顺序生成数据
ref_datapipe-参考IterDataPipe,IterKeyZipper将从中找到与
source_datapipe
匹配的键的项目key_fn-使用
source_datapipe
中的元素计算键的可调用函数ref_key_fn-将使用
ref_datapipe
中的元素计算键的可调用函数如果未指定,key_fn
也将应用于ref_datapipe
中的元素keep_key-生成匹配键的选项以及元组中的项目,从而产生
(key, merge_fn(item1, item2))
。buffer_size-用于保存引用 DataPipe 中的 key-data 对的缓冲区大小,直到找到匹配项为止。如果指定为
None
,则缓冲区大小设置为无限。merge_fn-将
source_datapipe
中的项目和ref_datapipe
中的项目组合在一起的函数,默认情况下会创建一个元组
根据匹配的 key 将两个 IterDataPipes 压缩在一起(函数名称:
zip_with_iter
)。键分别由两个 IterDataPipes 的key_fn
和ref_key_fn
计算。当两个 IterDataPipes 的元素不匹配时,ref_datapipe
中的元素将存储在缓冲区中。然后,尝试ref_datapipe
中的下一个元素。找到匹配项后,merge_fn
确定如何组合和返回它们(默认生成一个元组)。示例
>>> from torchdata.datapipes.iter import IterableWrapper >>> from operator import itemgetter >>> def merge_fn(t1, t2): >>> return t1[1] + t2[1] >>> dp1 = IterableWrapper([('a', 100), ('b', 200), ('c', 300)]) >>> dp2 = IterableWrapper([('a', 1), ('b', 2), ('c', 3), ('d', 4)]) >>> res_dp = dp1.zip_with_iter(dp2, key_fn=itemgetter(0), >>> ref_key_fn=itemgetter(0), keep_key=True, merge_fn=merge_fn) >>> list(res_dp) [('a', 101), ('b', 202), ('c', 303)]
参数:
相关用法
- Python PyTorch IterDataPipe用法及代码示例
- Python PyTorch IterableDataset用法及代码示例
- Python PyTorch IterableWrapper用法及代码示例
- Python PyTorch InMemoryCacheHolder用法及代码示例
- Python PyTorch IndexAdder用法及代码示例
- Python PyTorch IoPathSaver用法及代码示例
- Python PyTorch InMemoryBinaryCriteoIterDataPipe用法及代码示例
- Python PyTorch Identity用法及代码示例
- Python PyTorch IoPathFileOpener用法及代码示例
- Python PyTorch Independent用法及代码示例
- Python PyTorch Interpreter用法及代码示例
- Python PyTorch InstanceNorm2d用法及代码示例
- Python PyTorch InstanceNorm3d用法及代码示例
- Python PyTorch IoPathFileLister用法及代码示例
- Python PyTorch ImageFolder用法及代码示例
- Python PyTorch IWSLT2016用法及代码示例
- Python PyTorch InteractionArch用法及代码示例
- Python PyTorch InstanceNorm1d用法及代码示例
- Python PyTorch InProjContainer.forward用法及代码示例
- Python PyTorch InverseSpectrogram用法及代码示例
- Python PyTorch IWSLT2017用法及代码示例
- Python PyTorch frexp用法及代码示例
- Python PyTorch jvp用法及代码示例
- Python PyTorch cholesky用法及代码示例
- Python PyTorch vdot用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torchdata.datapipes.iter.IterKeyZipper。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。