快捷方式

长度设置器

class torchdata.datapipes.iter.LengthSetter(source_datapipe: IterDataPipe[T_co], length: int)

设置 DataPipe 的长度属性,该属性由 __len__ 返回(函数名:set_length)。这可以在 DataPipe 之后使用,这些 DataPipe 的最终长度事先无法得知(例如,filter)。如果您确定地知道最终长度,则可以手动设置它,然后 DataLoader 或其他 DataPipe 可以使用它。

注意

此 DataPipe 与 Header 不同,因为这不会限制从 DataPipe 中可以产生的元素数量;这严格用于设置属性,以便稍后可以使用它。

参数::
  • source_datapipe – DataPipe

  • length – 将设置为长度的整数值

示例

>>> from torchdata.datapipes.iter import IterableWrapper
>>> dp = IterableWrapper(range(10)).filter(lambda x: x < 5).set_length(3)
>>> list(dp)  # Notice that the number of elements yielded is unchanged
[0, 1, 2, 3, 4]
>>> len(dp)
3
>>> header_dp = IterableWrapper(range(10)).filter(lambda x: x < 5).header(3)
>>> list(header_dp)  # Use `.header()` if you want to limit the number of elements yielded
[0, 1, 2]
>>> len(header_dp)
3

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源