WebDataset¶
- class torchdata.datapipes.iter.WebDataset(source_datapipe: IterDataPipe[List[Union[Dict, List]]])¶
可迭代 DataPipe,接受 (路径,数据) 元组流,通常表示 tar 档案的路径名和文件(函数名称:
webdataset
)。这会将具有相同基本名称的连续项聚合到一个字典中,使用扩展名作为键(WebDataset 文件约定)。文件名中第一个“.”后的任何文本都将用作键/扩展名。没有扩展名的文件名将被忽略。
- 参数::
source_datapipe – 生成 (路径,数据) 对流的 DataPipe
- 返回值::
生成字典流的 DataPipe
示例
>>> from torchdata.datapipes.iter import FileLister, FileOpener >>> >>> def decode(item): >>> key, value = item >>> if key.endswith(".txt"): >>> return key, value.read().decode("utf-8") >>> if key.endswith(".bin"): >>> return key, value.read().decode("utf-8") >>> >>> datapipe1 = FileLister("test/_fakedata", "wds*.tar") >>> datapipe2 = FileOpener(datapipe1, mode="b") >>> dataset = datapipe2.load_from_tar().map(decode).webdataset() >>> for obj in dataset: >>> print(obj)