five

Hugging Face Datasets

收藏
github2026-01-09 更新2026-01-13 收录
下载链接:
https://github.com/whynigela/datasets
下载链接
链接失效反馈
官方服务:
资源简介:
🤗 Datasets是一个轻量级库,提供两大主要功能:一是为许多公共数据集提供一行数据加载器,可以下载和预处理HuggingFace Datasets Hub上的任何主要公共数据集(图像数据集、音频数据集、467种语言和方言的文本数据集等);二是高效的数据预处理,为公共数据集以及本地数据集提供简单、快速和可复现的数据预处理。

Hugging Face Datasets is a lightweight library with two core functionalities: Firstly, it provides one-line data loaders, enabling the download and preprocessing of any major public datasets hosted on the Hugging Face Datasets Hub, including image datasets, audio datasets, text datasets spanning 467 languages and dialects, and more. Secondly, it offers efficient data preprocessing capabilities, delivering simple, fast and reproducible data preprocessing workflows for both public datasets and local datasets.
创建时间:
2026-01-12
原始信息汇总

🤗 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 列表中的对应条目。
搜集汇总
数据集介绍
main_image_url
构建方式
在机器学习与自然语言处理领域,数据集的构建往往涉及复杂的采集、清洗与标准化流程。Hugging Face Datasets 作为一个社区驱动的数据集库,其构建方式体现了开放协作的精神。该库通过统一的接口设计,允许研究者和开发者以标准化格式贡献数据集,涵盖文本、图像、音频等多种模态。每个数据集均经过版本控制与文档化处理,确保数据来源的可追溯性与可复现性。库内数据集依托 Apache Arrow 后端实现内存映射,有效支持大规模数据的高效加载与管理,从而为社区提供了稳定可靠的数据基础设施。
特点
该数据集库的显著特点在于其高效性与灵活性。通过智能缓存与内存映射技术,它能够无缝处理超出内存限制的大型数据集,避免了重复预处理的开销。库内集成了流式处理模式,支持即时数据迭代,显著节省存储空间。同时,其设计具备高度互操作性,原生支持与 NumPy、PyTorch、TensorFlow、JAX 等主流机器学习框架的集成,并扩展至音频、图像及视频数据的专门处理。简洁的 Pythonic API 进一步降低了使用门槛,使得数据加载与预处理流程更为直观便捷。
使用方法
使用 Hugging Face Datasets 时,用户可通过简洁的 `load_dataset` 函数快速加载所需数据集,无论是本地文件还是云端资源。该函数支持多种数据格式,包括 CSV、JSON、图像及音频文件,并允许通过映射操作进行灵活的数据转换与增强。对于超大规模数据集,流式处理模式使得用户能够即时遍历数据而无需完整下载。库内还提供了与 Transformers 等工具的深度集成,方便进行分词、特征提取等预处理步骤。详细的文档与示例进一步指导用户完成从数据加载到模型训练的全流程。
背景与挑战
背景概述
Hugging Face Datasets 库诞生于2021年,由 Hugging Face 团队主导开发,其核心研究问题在于应对自然语言处理领域数据集的快速膨胀与多样化需求。该库旨在为学术界和工业界提供一个标准化、高效的数据集加载与预处理平台,支持文本、图像、音频等多种模态数据,覆盖467种语言与方言。通过集成 Apache Arrow 内存映射技术,它有效解决了大规模数据集的内存限制问题,显著提升了数据处理的效率与可复现性。自发布以来,该库已汇聚超过650个独特数据集,吸引了全球250余位贡献者参与,成为推动跨数据集研究与共享任务的重要基础设施,对机器学习社区的数据生态产生了深远影响。
当前挑战
在领域问题层面,Hugging Face Datasets 致力于应对多模态、多语言数据集的统一管理与高效访问挑战。随着人工智能模型规模的不断扩大,数据集的多样性、规模与质量要求日益提升,如何实现跨模态数据的标准化处理与无缝集成成为关键难题。在构建过程中,团队面临诸多技术障碍,包括设计轻量级前端以同时适应小规模数据集与互联网级语料库的需求,确保数据版本控制的严谨性以支持可复现研究,以及建立分布式社区驱动机制来持续扩展数据集库并维护文档质量。此外,实现与 PyTorch、TensorFlow、JAX 等主流框架的深度互操作性,同时保持内存映射与智能缓存的高效性,亦是一项复杂工程挑战。
常用场景
经典使用场景
在自然语言处理领域,Hugging Face Datasets作为一个轻量级库,其经典使用场景在于为机器学习模型训练与评估提供高效的数据加载与预处理支持。通过简洁的一行代码,研究人员能够便捷地访问涵盖文本、图像、音频等多种模态的公开数据集,例如加载SQuAD问答数据集进行模型微调。该库内置的流式处理与内存映射技术,使得大规模数据集的处理不再受限于本地硬件资源,为跨语言、跨任务的实验提供了统一且可复现的数据基础。
实际应用
在实际应用中,Hugging Face Datasets广泛支持工业界与学术界的机器学习项目部署。企业可利用其快速集成自定义数据集,加速产品原型开发,如智能客服系统的意图分类或内容审核系统的文本过滤。教育机构则借助该库的易用性,为学生提供实践平台,降低入门门槛。其与PyTorch、TensorFlow等主流框架的无缝集成,确保了从实验到生产环境的平滑过渡,在自动化数据流水线构建中发挥了关键作用。
衍生相关工作
围绕Hugging Face Datasets,社区衍生了一系列经典研究工作与工具生态。例如,基于其标准化接口开发的Transformers库,已成为预训练模型部署的事实标准;跨数据集评估基准如GLUE、SuperGLUE的广泛采用,也得益于该库的数据统一管理。此外,众多多语言与低资源语言研究项目利用其丰富的语料支持,推动了公平性与可及性探索。这些衍生工作共同构建了一个协同进化的开源生态系统,持续拓展人工智能研究的边界。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作