本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。