Hugging Face Datasets
收藏🤗 Datasets 数据集库概述
数据集库简介
🤗 Datasets 是一个轻量级库,主要提供两大核心功能:
- 众多公共数据集的一行式数据加载器:通过一行命令即可下载和预处理 Hugging Face Datasets Hub 上提供的主要公共数据集(图像数据集、音频数据集、涵盖 467 种语言和方言的文本数据集等)。例如,使用
squad_dataset = load_dataset("rajpurkar/squad")这样的简单命令,即可获取任何数据集,并准备好在 NumPy/Pandas/PyTorch/TensorFlow/JAX 的数据加载器中用于机器学习模型的训练或评估。 - 高效的数据预处理:为公共数据集以及用户本地的 CSV、JSON、文本、PNG、JPEG、WAV、MP3、Parquet、HDF5 等格式的数据集提供简单、快速且可复现的数据预处理。通过
processed_dataset = dataset.map(process_example)等简单命令,高效地为数据集检查和机器学习模型评估与训练做好准备。
主要特性
- 处理大型数据集:通过高效的零序列化成本后端(Apache Arrow)进行内存映射,自然解除用户对 RAM 内存的限制。
- 智能缓存:无需多次等待数据处理。
- 轻量、快速且透明的 Pythonic API:支持多进程、缓存和内存映射。
- 内置与多种框架的互操作性:包括 NumPy、PyTorch、TensorFlow 2、JAX、Pandas、Polars 等。
- 原生支持音频、图像和视频数据。
- 支持流式模式:可节省磁盘空间并立即开始迭代数据集。
安装方式
通过 pip 安装
在虚拟环境(如 venv 或 conda)中执行: bash pip install datasets
通过 conda 安装
执行以下命令: bash conda install -c huggingface -c conda-forge datasets
TensorFlow 和 PyTorch 需参照其官方页面通过 conda 单独安装。
与机器学习及数据框架配合使用
计划与 PyTorch (2.0+)、TensorFlow (2.6+) 或 JAX (3.14+) 一起使用时,需单独安装这些框架。该库也与 PyArrow、Pandas、Polars 和 Spark 等数据框架良好集成,这些框架也应单独安装。
基本用法
该库的核心是 datasets.load_dataset(dataset_name, **kwargs) 函数,用于实例化数据集。
-
列出可用数据集: python from huggingface_hub import list_datasets print([dataset.id for dataset in list_datasets()])
-
加载数据集并查看示例: python from datasets import load_dataset squad_dataset = load_dataset(rajpurkar/squad) print(squad_dataset[train][0])
-
处理数据集(例如添加列、分词): python dataset_with_length = squad_dataset.map(lambda x: {"length": len(x["context"])}) from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained(bert-base-cased) tokenized_dataset = squad_dataset.map(lambda x: tokenizer(x[context]), batched=True)
-
使用流式模式: python image_dataset = load_dataset(timm/imagenet-1k-wds, streaming=True) for example in image_dataset["train"]: break
向 Hub 添加新数据集
提供详细的逐步指南,说明如何向 HuggingFace Datasets Hub 上已有的众多数据集中添加新数据集。支持通过网页浏览器、Python 或 Git 进行上传。
免责声明与引用
- 数据集基于数据集作者维护的版本化 Git 仓库加载,建议用户固定所用仓库的
revision以保证可复现性。 - 数据集所有者可通过数据集页面的社区选项卡发起讨论或拉取请求来更新任何部分(描述、引用、许可证等)或请求移除数据集。
- 如需引用 🤗 Datasets 库,可使用提供的 BibTeX 条目。如需为可复现性引用特定版本,可使用 Zenodo DOI 列表中的对应条目。




