load_dataset
是 Hugging Face datasets
库中的一个核心函数,用于从 Hugging Face Hub 或本地路径加载各种数据集。
from datasets import load_dataset dataset = load_dataset("dataset_name", "configuration", split="split_name")
name(数据集名称)
-
用于指定数据集的名称,例如
"imdb"
、"squad"
、"librispeech_asr"
等。 -
数据集名称是 Hugging Face 数据集库中的唯一标识。
configuration(数据集配置)
-
一些数据集有多种配置,这些配置通常用于区分不同的子集。例如,
"librispeech_asr"
有"clean"
和"other"
配置,分别表示音质较高和噪音较大的音频数据。 -
并不是所有数据集都有配置参数,只有当数据集包含多个子集时才需要指定。
split(数据集分区)
-
选择数据集的分区(或切片),例如
"train"
、"test"
、"validation"
。 -
还可以指定数据集的切片,例如
"train[:10%]"
表示加载训练集的前 10% 数据,"validation[:100]"
表示加载验证集的前 100 条样本。 -
如果不指定,通常会加载数据集的所有分区
输出内容:
load_dataset
返回一个 Dataset
或 DatasetDict
对象,取决于是否指定了 split
参数:
# 不指定 split 参数,返回 DatasetDict
dataset_dict = load_dataset("imdb")
print(dataset_dict)
# 输出:
DatasetDict({
train: Dataset({
features: ['text', 'label'],
num_rows: 25000
})
test: Dataset({
features: ['text', 'label'],
num_rows: 25000
})
})
# 指定 split 参数,返回 Dataset
train_dataset = load_dataset("imdb", split="train")
print(train_dataset)
# 输出:
Dataset({
features: ['text', 'label'],
num_rows: 25000
})
Dataset
的结构
Dataset
是一个类似于表格的结构,可以包含多列数据,每列都有自己的特定名称和数据类型。常见的结构包括:
-
features:特征的定义。例如,
"text"
和"label"
表示数据集包含文本和标签列。 -
num_rows:样本数量。
每个样本可以通过索引或迭代访问,例如 train_dataset[0]
或 train_dataset[:5]
获取前 5 个样本。