Datasets 文档
分享数据集到 Hub
并获得增强的文档体验
开始使用
分享数据集到 Hub
Hub 拥有一个由社区策划的大量流行研究数据集。我们鼓励您将数据集分享到 Hub,以帮助壮大 ML 社区并加速所有人的进步。欢迎所有贡献;添加数据集只需拖放即可!
如果您还没有 Hugging Face Hub 账户,请先创建账户。
使用 Hub UI 上传
Hub 的基于 Web 的界面允许没有开发经验的用户上传数据集。
创建仓库
仓库存储所有数据集文件,包括修订历史记录,从而可以存储多个数据集版本。
- 点击您的个人资料并选择新建数据集以创建一个新的数据集仓库。
- 为您的数据集选择一个名称,并选择它是公开数据集还是私有数据集。公开数据集任何人都可以看到,而私有数据集只能由您或您组织中的成员查看。

上传数据集
创建仓库后,导航到文件和版本选项卡以添加文件。选择添加文件以上传数据集文件。我们支持许多文本、音频和图像数据扩展名,例如
.csv、.mp3和.jpg等。对于文本数据扩展名,如.csv、.json、.jsonl和.txt,我们建议在上传到 Hub 之前压缩它们(例如,压缩为.zip或.gz文件扩展名)。文本文件扩展名默认不被 Git LFS 跟踪,如果它们大于 10MB,则不会被提交和上传。查看仓库中的
.gitattributes文件以获取跟踪文件扩展名的完整列表。在本教程中,您可以使用以下示例.csv文件,因为它们很小:train.csv、test.csv。

- 拖放数据集文件并添加简短的描述性提交消息。

- 上传数据集文件后,它们将存储在您的数据集仓库中。

创建数据集卡片
添加数据集卡片对于帮助用户找到您的数据集并负责任地使用它非常有价值。
- 点击创建数据集卡片以创建数据集卡片。此按钮会在您的仓库中创建一个
README.md文件。

在顶部,您会看到元数据 UI,其中有几个字段可供选择,例如许可证、语言和任务类别。这些是帮助用户在 Hub 上发现您数据集的最重要标签。当您从每个字段中选择一个选项时,它们将自动添加到数据集卡片的顶部。
您还可以查看数据集卡片规范,其中包含一组完整的(但非必需的)标签选项,例如
annotations_creators,以帮助您选择合适的标签。

- 点击编辑器顶部的导入数据集卡片模板链接以自动创建数据集卡片模板。填写模板是向社区介绍您的数据集并帮助用户了解如何使用它的好方法。有关良好数据集卡片应如何显示的详细示例,请参阅CNN DailyMail 数据集卡片。
加载数据集
一旦您的数据集存储在 Hub 上,任何人都可以使用 load_dataset() 函数加载它。
>>> from datasets import load_dataset
>>> dataset = load_dataset("stevhliu/demo")使用 Python 上传
倾向于以编程方式上传数据集的用户可以使用 huggingface_hub 库。该库允许用户从 Python 与 Hub 进行交互。
- 开始安装库
pip install huggingface_hub
- 要在 Python 中上传数据集到 Hub,您需要登录到您的 Hugging Face 账户。
huggingface-cli login
- 使用
push_to_hub()函数来帮助您添加、提交和推送文件到您的仓库。
>>> from datasets import load_dataset
>>> dataset = load_dataset("stevhliu/demo")
# dataset = dataset.map(...) # do all your processing here
>>> dataset.push_to_hub("stevhliu/processed_demo")要将数据集设置为私有,请将 private 参数设置为 True。此参数仅在您首次创建仓库时生效。
>>> dataset.push_to_hub("stevhliu/private_processed_demo", private=True)要向数据集添加新配置(或子集)或添加新拆分(训练/验证/测试),请参阅 Dataset.push_to_hub() 文档。
隐私
私有数据集仅对您本人可用。同样,如果您在组织内共享数据集,则组织成员也可以访问该数据集。
通过向 token 参数提供您的身份验证令牌来加载私有数据集。
>>> from datasets import load_dataset
# Load a private individual dataset
>>> dataset = load_dataset("stevhliu/demo", token=True)
# Load a private organization dataset
>>> dataset = load_dataset("organization/dataset_name", token=True)下一步?
恭喜您,您已完成教程!🥳
从这里,您可以继续
- 了解更多关于如何使用 🤗 Datasets 的其他功能来处理您的数据集。
- 流式传输大型数据集,而无需将其下载到本地。
- 定义您的数据集拆分和配置,并与社区分享您的数据集。
如果您对 🤗 Datasets 有任何疑问,欢迎加入我们的论坛提问。
在 GitHub 上更新