AISFileLoader¶
- class torchdata.datapipes.iter.AISFileLoader(source_datapipe: IterDataPipe[str], url: str, length: int = - 1)¶
从 AIStore 加载文件的可迭代式 DataPipe,使用给定的 URL(功能名称:
load_files_by_ais
)。迭代以 BytesIO 格式的所有文件,并返回一个元组 (url, BytesIO)。注意: - 此函数还支持来自多个后端的文件 (aws://.., gcp://.., azure://.., 等) - 输入必须是列表,不支持直接 URL。 - 此函数内部使用 AIStore Python SDK。
- 参数:
source_datapipe (IterDataPipe[str]) – 包含 URL/URL 前缀的对象的 DataPipe
url (str) – AIStore 端点
length (int) – datapipe 的长度
示例
>>> from torchdata.datapipes.iter import IterableWrapper, AISFileLister,AISFileLoader >>> 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) >>> dp_cloud_files = AISFileLoader(url='localhost:8080', source_datapipe=dp_ais_urls) >>> for url, file in dp_cloud_files: ... pass >>> # Functional API >>> dp_cloud_files = dp_ais_urls.load_files_by_ais(url='localhost:8080') >>> for url, file in dp_cloud_files: ... pass