Hugging Face 推出的 Python 库,一行代码即可加载 Hub 上的公开 AI 数据集,并用基于 Arrow 的工具高效预处理。
mlcommons/croissant
基于 schema.org 与 JSON-LD 的机器学习数据集高层元数据格式,将文件、结构与 ML 语义统一描述在一个文件中。
- Star
- 915
- Fork
- 128
- 未关闭 Issue
- 226
- 最近提交
- 17天前
这是什么?
Croissant 是一种面向机器学习数据集的高层元数据格式,把四个层面整合进同一个 JSON-LD 文件:包括负责任 ML 相关信息在内的数据集元数据、原始资源文件的描述、将原始数据组织为记录和字段的结构,以及数据通常在 ML 中如何被使用的语义。它面向已有数据集,目的是让数据集更容易被查找、加载和配套工具支持。
该格式基于 schema.org 的 Dataset 词汇表扩展而来,因此 Croissant 文件可以被网络搜索引擎索引。Python 包 mlcroissant 可以从本地路径或 URL 读取 Croissant 文件、打印元数据并遍历记录。Kaggle、Hugging Face、OpenML 和 Dataverse 等平台已经提供 Croissant 元数据,TensorFlow Datasets 也提供了 CroissantBuilder 用于加载这类数据集。
规范由 MLCommons 协会数据集工作组下的任务组开发。实现与示例采用 Apache 2.0 许可证,规范文档则以 CC BY-ND 4.0 发布。
核心功能
- 01将元数据、资源文件、记录结构和 ML 语义整合进一个 JSON-LD 文件。
- 02基于 schema.org 的 Dataset 词汇表,使数据集保持可被网络搜索的能力。
- 03提供 Python 包 mlcroissant,用于加载和检查 Croissant 数据集。
- 04支持从本地文件或远程 URL 读取,包括 Hugging Face 的 API 地址。
- 05与 TensorFlow Datasets 集成,提供 CroissantBuilder。
适用场景
- 以标准化、机器可读的元数据发布机器学习数据集。
- 将 Croissant 文件描述的数据集加载到 TensorFlow 或 PyTorch 流程中。
- 通过搜索引擎和数据集目录提升数据集的可发现性。
- 开发解析或生成通用格式数据集元数据的工具。
快速上手
- 1
安装 mlcroissant Python 包(需要 Python 3.10+)
pip install mlcroissant - 2
加载示例数据集并打印其元数据和记录
使用前须知
- Croissant 仍由社区开发中,mlcroissant 的接口可能会变化。
- 示例工作流中加载部分数据集需要 TensorFlow Datasets,这是额外的依赖。
标签
常见问题
- croissant 是什么?
- 基于 schema.org 与 JSON-LD 的机器学习数据集高层元数据格式,将文件、结构与 ML 语义统一描述在一个文件中。 Croissant 是一种面向机器学习数据集的高层元数据格式,把四个层面整合进同一个 JSON-LD 文件:包括负责任 ML 相关信息在内的数据集元数据、原始资源文件的描述、将原始数据组织为记录和字段的结构,以及数据通常在 ML 中如何被使用的语义。它面向已有数据集,目的是让数据集更容易被查找、加载和配套工具支持。
- croissant 可以免费使用吗?用的什么许可证?
- croissant 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- croissant 还在维护吗?
- 活跃维护中。croissant 最近一次提交是在 2026年10月5日。
- croissant 适合用来做什么?
- 以标准化、机器可读的元数据发布机器学习数据集。 将 Croissant 文件描述的数据集加载到 TensorFlow 或 PyTorch 流程中。 通过搜索引擎和数据集目录提升数据集的可发现性。 开发解析或生成通用格式数据集元数据的工具。
- croissant 怎么安装和运行?
- 安装 mlcroissant Python 包(需要 Python 3.10+): pip install mlcroissant 加载示例数据集并打印其元数据和记录
- 在哪里获取 croissant?
- 源代码和安装说明在 GitHub 上:https://github.com/mlcommons/croissant
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
按主题整理的高质量开放数据集清单,涵盖农业、生物、气候、网络等多个领域。
一种紧凑、易读的 JSON 数据编码格式,用于减少向 LLM 提示词传递结构化数据时的 token 消耗。
NLWeb 的 Python 参考实现,为网站添加自然语言对话接口,并可作为 MCP 服务器使用。
用于定义、运行和监控数据资产(表、数据集、机器学习模型、报表)的 Python 编排平台。