本文簡要介紹python語言中 torchdata.datapipes.iter.IterDataPipe
的用法。
用法:
class torchdata.datapipes.iter.IterDataPipe(*args, **kwds)
Iterable-style 數據管道。
所有表示可迭代數據樣本的 DataPipes 都應該對其進行子類化。當數據來自流或樣本數量太大而無法全部放入內存時,這種DataPipes 樣式特別有用。
所有子類都應覆蓋
__iter__()
,這將返回此 DataPipe 中的樣本迭代器。IterDataPipe
被延遲初始化,並且僅當在其迭代器上調用next()
時才計算其元素。這些DataPipes可以通過兩種方式調用,使用類構造函數或將它們的函數形式應用到現有的
IterDataPipe
上(推薦,適用於大多數但不是所有DataPipe)。您可以將多個IterDataPipe
鏈接在一起形成一個連續執行多個操作的管道。注意
當子類與
DataLoader
一起使用時,DataPipe 中的每一項都將從DataLoader
迭代器中生成。當num_workers > 0
時,每個工作進程將擁有 DataPipe 對象的不同副本,因此通常需要獨立配置每個副本,以避免從工作進程返回重複的數據。get_worker_info()
在工作進程中調用時,返回有關工作進程的信息。它可以在數據集的__iter__()
方法或DataLoader
的worker_init_fn
選項中使用,以修改每個副本的行為。示例
>>> from torchdata.datapipes.iter import IterableWrapper, Mapper >>> dp = IterableWrapper(range(10)) >>> map_dp_1 = Mapper(dp, lambda x: x + 1) # Using class constructor >>> map_dp_2 = dp.map(lambda x: x + 1) # Using functional form (recommended) >>> list(map_dp_1) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> list(map_dp_2) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> filter_dp = map_dp_1.filter(lambda x: x % 2 == 0) >>> list(filter_dp) [2, 4, 6, 8, 10]
相關用法
- Python PyTorch IterableDataset用法及代碼示例
- Python PyTorch IterKeyZipper用法及代碼示例
- 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.IterDataPipe。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。