AISFileLister¶
- class torchdata.datapipes.iter.AISFileLister(source_datapipe: IterDataPipe[str], url: str, length: int = - 1)¶
可迭代的 Datapipe,用于列出具有给定 URL 前缀的 AIStore 后端中的文件(功能名称:
list_files_by_ais
)。可接受的前缀包括但不限于 - ais://bucket-name、ais://bucket-name/注意
此函数还支持来自多个后端的文件(aws://..、gcp://..、azure://.. 等)
输入必须是列表,不支持直接 URL。
- 默认情况下,length 为 -1,所有对 len() 的调用都是无效的,因为
并非所有项目都在开始时进行迭代。
内部使用 AIStore Python SDK。
- 参数:
source_datapipe (IterDataPipe[str]) – 包含 AIS 上对象 URL/URL 前缀的 DataPipe
url (str) – AIStore 端点
length (int) – datapipe 的长度
示例
>>> from torchdata.datapipes.iter import IterableWrapper, AISFileLister >>> ais_prefixes = IterableWrapper(['gcp://bucket-name/folder/', 'aws:bucket-name/folder/', 'ais://bucket-name/folder/', ...]) >>> dp_ais_urls = AISFileLister(url='localhost:8080', source_datapipe=ais_prefixes) >>> for url in dp_ais_urls: ... pass >>> # Functional API >>> dp_ais_urls = ais_prefixes.list_files_by_ais(url='localhost:8080') >>> for url in dp_ais_urls: ... pass