本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。