當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch MapDataPipe用法及代碼示例


本文簡要介紹python語言中 torchdata.datapipes.map.MapDataPipe 的用法。

用法:

class torchdata.datapipes.map.MapDataPipe(*args, **kwds)

Map-style 數據管道。

表示從鍵到數據樣本的映射的所有數據集都應該對此進行子類化。子類應覆蓋 __getitem__() ,支持為給定的唯一鍵獲取數據樣本。子類還可以選擇性地覆蓋 __len__() ,許多 Sampler 實現和 DataLoader 的默認選項預計會返回數據集的大小。

這些 DataPipes 可以通過兩種方式調用,使用類構造函數或將其函數形式應用到現有的 MapDataPipe 上(推薦,適用於大多數但不是所有 DataPipes)。

注意

DataLoader 默認構造一個產生整數索引的索引采樣器。為了使其與具有非整數索引/鍵的 map-style DataPipe 一起使用,必須提供自定義采樣器。

示例

>>> from torchdata.datapipes.map import SequenceWrapper, Mapper
>>> dp = SequenceWrapper(range(10))
>>> map_dp_1 = dp.map(lambda x: x + 1)  # Using functional form (recommended)
>>> list(map_dp_1)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> map_dp_2 = Mapper(dp, lambda x: x + 1)  # Using class constructor
>>> list(map_dp_2)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> batch_dp = map_dp_1.batch(batch_size=2)
>>> list(batch_dp)
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torchdata.datapipes.map.MapDataPipe。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。