【datasets】datasets加载多个数据集

290 阅读1分钟

几个格式相同的数据集,希望训练模型的时候一次全部加载

感觉是一个比较常用的功能,但并不在文档的显眼位置。

记录一下

from datasets import interleave_datasets
from itertools import islice


en_dataset = load_dataset('oscar', "unshuffled_deduplicated_en", split='train', streaming=True)
fr_dataset = load_dataset('oscar', "unshuffled_deduplicated_fr", split='train', streaming=True)
multilingual_dataset = interleave_datasets([en_dataset, fr_dataset])
print(list(islice(multilingual_dataset, 2)))
multilingual_dataset_with_oversampling = interleave_datasets([en_dataset, fr_dataset], probabilities=[0.8, 0.2], seed=42)
print(list(islice(multilingual_dataset_with_oversampling, 2)))

根据后续使用发现,该功能并非合并,而是交替取数据,且无法实现合并。

合并的方法: concatenate_datasets Process (huggingface.co)