Datasets 文件
從 Hub 載入資料集
並獲得增強的文件體驗
開始使用
從 Hub 載入資料集
尋找高質量、可復現且易於訪問的資料集可能很困難。🤗 Datasets 的主要目標之一是提供一種簡單的方法來載入任何格式或型別的資料集。最簡單的入門方法是在 Hugging Face Hub(一個由社群驅動的用於 NLP、計算機視覺和音訊任務的資料集集合)上發現一個現有資料集,並使用 🤗 Datasets 下載並生成該資料集。
本教程使用 rotten_tomatoes 和 MInDS-14 資料集,但歡迎載入任何你想要的資料集並跟著操作。現在就前往 Hub,為你的任務尋找一個數據集吧!
載入資料集
在花費時間下載資料集之前,通常快速獲取資料集的一些通用資訊會很有幫助。資料集的資訊儲存在 DatasetInfo 中,可以包括資料集描述、特徵和資料集大小等資訊。
使用 load_dataset_builder() 函式載入資料集構建器,並在不下載的情況下檢查資料集的屬性。
>>> from datasets import load_dataset_builder
>>> ds_builder = load_dataset_builder("cornell-movie-review-data/rotten_tomatoes")
# Inspect dataset description
>>> ds_builder.info.description
Movie Review Dataset. This is a dataset of containing 5,331 positive and 5,331 negative processed sentences from Rotten Tomatoes movie reviews. This data was first used in Bo Pang and Lillian Lee, ``Seeing stars: Exploiting class relationships for sentiment categorization with respect to rating scales.'', Proceedings of the ACL, 2005.
# Inspect dataset features
>>> ds_builder.info.features
{'label': ClassLabel(names=['neg', 'pos']),
'text': Value('string')}
如果你對資料集滿意,則使用 load_dataset() 載入它。
>>> from datasets import load_dataset
>>> dataset = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
分劃
分劃是資料集的特定子集,例如 `train` 和 `test`。使用 get_dataset_split_names() 函式可以列出資料集的分劃名稱。
>>> from datasets import get_dataset_split_names
>>> get_dataset_split_names("cornell-movie-review-data/rotten_tomatoes")
['train', 'validation', 'test']
然後你可以使用 `split` 引數載入特定的分劃。載入資料集 `split` 會返回一個 Dataset 物件。
>>> from datasets import load_dataset
>>> dataset = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> dataset
Dataset({
features: ['text', 'label'],
num_rows: 8530
})
如果你不指定 `split`,🤗 Datasets 則會返回一個 DatasetDict 物件。
>>> from datasets import load_dataset
>>> dataset = load_dataset("cornell-movie-review-data/rotten_tomatoes")
DatasetDict({
train: Dataset({
features: ['text', 'label'],
num_rows: 8530
})
validation: Dataset({
features: ['text', 'label'],
num_rows: 1066
})
test: Dataset({
features: ['text', 'label'],
num_rows: 1066
})
})
配置
有些資料集包含多個子資料集。例如,MInDS-14 資料集包含多個子資料集,每個子資料集都包含不同語言的音訊資料。這些子資料集被稱為*配置*或*子集*,載入資料集時必須明確選擇一個。如果你沒有提供配置名稱,🤗 Datasets 將會引發 `ValueError` 並提醒你選擇一個配置。
使用 get_dataset_config_names() 函式檢索資料集所有可用配置的列表。
>>> from datasets import get_dataset_config_names
>>> configs = get_dataset_config_names("PolyAI/minds14")
>>> print(configs)
['cs-CZ', 'de-DE', 'en-AU', 'en-GB', 'en-US', 'es-ES', 'fr-FR', 'it-IT', 'ko-KR', 'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'zh-CN', 'all']
然後載入你想要的配置。
>>> from datasets import load_dataset
>>> mindsFR = load_dataset("PolyAI/minds14", "fr-FR", split="train")