datasets

GitHub
21.4k 3.2k 非常简单 5 次阅读 今天Apache-2.0音频语言模型图像Agent数据工具开发框架
AI 解读 由 AI 自动生成,仅供参考

datasets 是 Hugging Face 推出的开源数据库,旨在为 AI 模型训练提供一站式的数据解决方案。它汇集了全球规模最大的公开数据集资源,涵盖文本、图像、音频等多种模态,支持 400 多种语言。

在 AI 开发中,数据的下载、清洗和格式化往往耗时且容易出错。datasets 通过极简的代码接口解决了这一痛点:用户只需一行命令即可加载并预处理海量数据,无需手动编写复杂的读取脚本。它不仅支持本地常见的 CSV、JSON 等格式,还能直接对接 Hugging Face 社区托管的数千个数据集,让数据准备过程变得快速且可复现。

这款工具特别适合机器学习工程师、数据科学家及研究人员使用。其核心技术亮点在于基于 Apache Arrow 的内存映射机制,能够突破物理内存限制,轻松处理超大规模数据集而不会导致内存溢出。此外,它还具备智能缓存功能,避免重复处理数据,并原生支持与 PyTorch、TensorFlow、JAX 等主流深度学习框架无缝协作。无论是快速验证想法还是构建大型生产级模型,datasets 都能帮助用户将精力从繁琐的数据工程中解放出来,专注于算法创新。

使用场景

某初创公司的算法工程师正在构建一个支持 467 种语言的多语言情感分析模型,急需整合分散在全球各地的公开文本数据。

没有 datasets 时

  • 数据获取繁琐:需要手动编写复杂的爬虫或下载脚本,逐个访问不同网站下载 CSV、JSON 等格式各异的数据集,耗时且容易出错。
  • 内存经常爆炸:尝试加载 GB 级的大规模语料时,因直接读入内存导致服务器 RAM 耗尽,程序频繁崩溃,不得不花费大量时间优化分块读取逻辑。
  • 预处理重复造轮子:针对每种数据格式都要单独编写清洗和分词代码,缺乏统一的映射(map)接口,导致代码冗余且难以复现。
  • 框架适配困难:为了将数据喂给 PyTorch 或 TensorFlow 模型,需要额外编写大量的胶水代码进行格式转换和张量对齐。

使用 datasets 后

  • 一行代码加载:通过 load_dataset("multi_lang_corpus") 即可一键下载并准备好数千个公共数据集,自动处理多种文件格式和语言方言。
  • 零序列化内存映射:借助 Apache Arrow 后端实现内存映射,无需担心内存限制,可流畅地在普通机器上操作超大规模数据集。
  • 高效统一预处理:利用简洁的 dataset.map() 接口快速执行分词和清洗,内置智能缓存机制,避免重复计算,显著提升迭代效率。
  • 原生框架互通:处理后的数据可直接作为迭代器输入 NumPy、PyTorch 或 TensorFlow,无缝衔接训练流程,彻底告别格式转换烦恼。

datasets 将原本需要数天搭建的数据流水线压缩为几分钟的标准化操作,让开发者能专注于模型创新而非数据搬运。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明(支持内存映射,可处理超出 RAM 大小的数据集)

依赖
notes建议安装在虚拟环境(venv 或 conda)中。该库通过 Apache Arrow 后端实现内存映射,能有效突破物理内存限制处理大型数据集。若需与 PyTorch、TensorFlow 或 JAX 配合使用,需单独安装相应框架。支持音频、图像和视频数据的原生处理,并具备流式加载模式以节省磁盘空间。
python未说明
pyarrow
pandas
polars
torch>=2.0 (可选)
tensorflow>=2.6 (可选)
jax>=0.4 (可选)
datasets hero image

快速开始

Hugging Face 数据集库

构建 GitHub 文档 GitHub 发布 数据集数量 贡献者公约 DOI

🤗 Datasets 是一个轻量级的库,提供 两项 主要功能:

  • 针对众多公开数据集的一行式数据加载器:只需一行代码即可下载并预处理 HuggingFace 数据集中心 上提供的 数据集数量 种主要公开数据集(图像数据集、音频数据集、涵盖 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) 的命令,即可高效地准备数据集,以便检查以及用于机器学习模型的评估和训练。

🎓 文档 🔎 在中心查找数据集 🌟 在中心分享数据集

🤗 Datasets 的设计宗旨是让社区能够轻松添加和分享新的数据集。

🤗 Datasets 还具备许多其他有趣的功能:

  • 适合处理大规模数据集:🤗 Datasets 自然解决了用户受 RAM 内存限制的问题,所有数据集都采用高效的零序列化开销后端(Apache Arrow)进行内存映射。
  • 智能缓存:无需多次等待数据处理。
  • 轻量且快速,API 设计透明且符合 Python 风格(多进程/缓存/内存映射)。
  • 内置与 NumPy、PyTorch、TensorFlow 2、JAX、Pandas、Polars 等框架的互操作性。
  • 原生支持音频、图像和视频数据。
  • 支持流式模式,节省磁盘空间,并可立即开始遍历数据集。

🤗 Datasets 最初源自优秀的 TensorFlow Datasets 的分支,HuggingFace 团队在此向 TensorFlow Datasets 团队致以深深的感谢,感谢他们打造了这一出色的库。

安装

使用 pip

🤗 Datasets 可从 PyPI 安装,建议在虚拟环境(如 venv 或 conda)中进行安装。

pip install datasets

使用 conda

也可以通过 conda 安装 🤗 Datasets,具体命令如下:

conda install -c huggingface -c conda-forge datasets

请参考 TensorFlow 和 PyTorch 的安装页面,了解如何使用 conda 安装它们。

更多安装细节,请参阅文档中的安装页面:https://huggingface.co/docs/datasets/installation

与机器学习及数据框架一起使用时的安装

如果您计划将 🤗 Datasets 与 PyTorch(2.0+)、TensorFlow(2.6+)或 JAX(0.4+)结合使用,还需分别安装 PyTorch、TensorFlow 或 JAX。此外,🤗 Datasets 也与 PyArrow、Pandas、Polars 和 Spark 等数据框架良好集成,这些框架需单独安装。

有关如何将该库与这些框架配合使用的详细信息,请参阅文档中的快速入门页面:https://huggingface.co/docs/datasets/quickstart

使用方法

🤗 Datasets 的设计非常简单易用——其 API 以单个函数为核心,即 datasets.load_dataset(dataset_name, **kwargs),用于实例化数据集。

该库可用于文本、图像、音频等各类数据集。以下是一个加载文本数据集的示例:

以下是一个快速示例:

from datasets import load_dataset

# 打印所有可用的数据集
from huggingface_hub import list_datasets
print([dataset.id for dataset in list_datasets(limit=20)])

# 加载一个数据集并打印训练集中的第一个样本
squad_dataset = load_dataset('rajpurkar/squad')
print(squad_dataset['train'][0])

# 处理数据集——添加一列显示上下文文本的长度
dataset_with_length = squad_dataset.map(lambda x: {"length": len(x["context"])})

# 处理数据集——对上下文文本进行分词(使用 🤗 Transformers 库中的分词器)
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained('bert-base-cased')

tokenized_dataset = squad_dataset.map(lambda x: tokenizer(x['context']), batched=True)

如果您的数据集超出磁盘容量,或者您不想等待数据下载完成,可以使用流式处理:


# 如果您希望立即使用数据集,并在遍历数据集时高效地进行流式传输
image_dataset = load_dataset('timm/imagenet-1k-wds', streaming=True)
for example in image_dataset["train"]:
    break

有关该库的更多使用详情,请参阅文档中的快速入门页面:https://huggingface.co/docs/datasets/quickstart,以及以下特定页面:

向 Hub 添加新数据集

我们提供了一份非常详细的分步指南,用于将新数据集添加到 数据集数量 已经在 HuggingFace 数据集 Hub 上提供的数据集中。

您可以找到:

免责声明

您可以使用 🤗 Datasets 加载基于数据集作者维护的版本化 Git 仓库的数据集。出于可重复性的考虑,我们要求用户固定所使用的仓库的 revision

如果您是数据集的所有者,并希望更新其任何部分(描述、引用、许可证等),或者不希望您的数据集被纳入 Hugging Face Hub,请通过在数据集页面的“社区”选项卡中发起讨论或拉取请求与我们联系。感谢您对机器学习社区的贡献!

BibTeX

如果您想引用我们的 🤗 Datasets 库,可以使用我们的 论文

@inproceedings{lhoest-etal-2021-datasets,
    title = "Datasets: A Community Library for Natural Language Processing",
    author = "Lhoest, Quentin  and
      Villanova del Moral, Albert  and
      Jernite, Yacine  and
      Thakur, Abhishek  and
      von Platen, Patrick  and
      Patil, Suraj  and
      Chaumond, Julien  and
      Drame, Mariama  and
      Plu, Julien  and
      Tunstall, Lewis  and
      Davison, Joe  and
      {\v{S}}a{\v{s}ko}, Mario  and
      Chhablani, Gunjan  and
      Malik, Bhavitvya  and
      Brandeis, Simon  and
      Le Scao, Teven  and
      Sanh, Victor  and
      Xu, Canwen  and
      Patry, Nicolas  and
      McMillan-Major, Angelina  and
      Schmid, Philipp  and
      Gugger, Sylvain  and
      Delangue, Cl{\'e}ment  and
      Matussi{\`e}re, Th{\'e}o  and
      Debut, Lysandre  and
      Bekman, Stas  and
      Cistac, Pierric  and
      Goehringer, Thibault  and
      Mustar, Victor  and
      Lagunas, Fran{\c{c}}ois  and
      Rush, Alexander  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",
    abstract = "随着研究人员提出新的任务、更大的模型和新颖的基准,公开可用的 NLP 数据集的数量、种类和规模迅速增长。Datasets 是一个面向当代 NLP 的社区库,旨在支持这一生态系统。Datasets 致力于标准化最终用户的接口、版本管理和文档,同时提供一个轻量级的前端,无论处理小型数据集还是互联网规模的语料库,其行为都保持一致。该库的设计采用了分布式、社区驱动的方式来添加数据集并记录使用方法。经过一年的开发,该库现已包含 650 多个独特的数据集,拥有 250 多位贡献者,并已帮助支持了多种跨数据集的创新研究项目和共享任务。该库可在 https://github.com/huggingface/datasets 上获取。",
    eprint={2109.02846},
    archivePrefix={arXiv},
    primaryClass={cs.CL},
}

如果您需要为可重复性引用 🤗 Datasets 库的特定版本,可以使用此 列表 中对应的 Zenodo DOI。

版本历史

4.8.42026/03/23
4.8.32026/03/19
4.8.22026/03/17
4.8.12026/03/17
4.8.02026/03/16
4.7.02026/03/09
4.6.12026/02/27
4.6.02026/02/25
4.5.02026/01/14
4.4.22025/12/19
4.4.12025/11/05
4.4.02025/11/04
4.3.02025/10/23
4.2.02025/10/09
4.1.12025/09/18
4.1.02025/09/15
4.0.02025/07/09
3.6.02025/05/07
3.5.12025/04/28
3.5.02025/03/27

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

159.3k|★★☆☆☆|今天
开发框架Agent语言模型

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|昨天
Agent插件

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|1周前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像