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 内存限制。
- 智能缓存:无需多次等待数据处理。
- 轻量、快速,并提供透明且符合 Python 风格的 API(支持多处理/缓存/内存映射)。
- 内置与 NumPy、PyTorch、TensorFlow 2、JAX、Pandas、Polars 等的互操作性。
- 原生支持音频、图像和视频数据。
- 支持流式模式以节省磁盘空间,并可立即开始迭代数据集。
数据集来源与贡献
🤗 Datasets 源自出色的 TensorFlow Datasets 的一个分支。 该库旨在让社区轻松添加和共享新数据集。用户可以通过网页浏览器、Python 或 Git 将数据集上传至 Hub。
安装方式
- 使用 pip:
pip install datasets - 使用 conda:
conda install -c huggingface -c conda-forge datasets - 计划与 PyTorch (2.0+)、TensorFlow (2.6+) 或 JAX (3.14+) 一起使用时,需单独安装这些框架。该库也与 PyArrow、Pandas、Polars 和 Spark 等数据框架良好集成,需单独安装。
基本用法
该库的核心是 datasets.load_dataset(dataset_name, **kwargs) 函数。
支持文本、图像、音频等类型的数据集。
代码示例: python from datasets import load_dataset
加载数据集并打印训练集中的第一个示例
squad_dataset = load_dataset(rajpurkar/squad) print(squad_dataset[train][0])
处理数据集 - 添加上下文文本长度列
dataset_with_length = squad_dataset.map(lambda x: {"length": len(x["context"])})
流式处理示例: python image_dataset = load_dataset(timm/imagenet-1k-wds, streaming=True) for example in image_dataset["train"]: break
相关资源
- 文档:https://huggingface.co/docs/datasets/
- 在 Hub 中查找数据集:https://huggingface.co/datasets
- 在 Hub 上共享数据集:https://huggingface.co/docs/datasets/share
- 快速入门指南:https://huggingface.co/docs/datasets/quickstart
免责声明与引用
数据集基于数据集作者维护的版本化 git 仓库加载。出于可复现性考虑,要求用户固定所用仓库的 revision。
数据集所有者如需更新任何部分,或不愿其数据集被包含在 Hugging Face Hub 中,可通过数据集页面社区选项卡中的讨论或拉取请求进行联系。
BibTeX 引用: bibtex @inproceedings{lhoest-etal-2021-datasets, title = "Datasets: A Community Library for Natural Language Processing", author = "Lhoest, Quentin and ... and Wolf, Thomas", booktitle = "Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing: System Demonstrations", month = nov, year = "2021", address = "Online and Punta Cana, Dominican Republic", publisher = "Association for Computational Linguistics", url = "https://aclanthology.org/2021.emnlp-demo.21", pages = "175--184", eprint={2109.02846}, archivePrefix={arXiv}, primaryClass={cs.CL}, }
如需引用特定版本以保持可复现性,可使用 Zenodo DOI 列表中的对应版本 DOI。




