You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Hugging Face load_dataset按比例加载部分数据集?

问题原因
  • split参数的切片逻辑是全量数据集下载到本地后才执行的筛选操作,不会限制下载阶段的文件大小,所以你还是会先拉取完整29GB的归档包,导致空间不足崩溃
  • 你传入的第二个参数'clean'是LibriSpeech的clean合集配置,本身包含train.100、train.360、validation、test四个子拆分的全部数据,下载阶段会把这四个子拆分的归档全部拉取,额外产生很多你不需要的下载量
正确实现方式

方案1:启用流式加载(最适合Colab小空间场景)

不需要下载完整数据集,直接按需流式读取数据,不会占用本地磁盘空间,代码如下:

from datasets import load_dataset
# 加streaming=True参数启用流式加载
dataset = load_dataset("librispeech_asr", 'clean', split=['train.360[:50%]', 'validation'], streaming=True)

流式加载得到的数据集可以像普通数据集一样迭代读取,唯一区别是不能用随机下标访问,需要迭代遍历或者用take()方法取指定条数。

方案2:单独指定需要的子拆分配置,避免下载冗余数据

如果你确实需要下载到本地,可以不用clean合集配置,直接指定你需要的子拆分对应的独立配置,只下载对应拆分的归档再做切片:

from datasets import load_dataset
# 分别下载train.360的50%和validation拆分,只会拉取对应两个拆分的归档,不会下载train.100、test等冗余数据
train_set = load_dataset("librispeech_asr", "train.360", split="train[:50%]")
val_set = load_dataset("librispeech_asr", "validation", split="validation")

这种方式下载的总大小只有train.360全量(18GB)的一半+validation全量(1GB),总共10GB左右,远小于全量clean合集的30GB。

内容的提问来源于stack exchange,提问作者dev1ce

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 01:06:03