Datasets 文档
将数据集分享到 Hub
并获得增强的文档体验
开始使用
将数据集分享到 Hub
Hub 汇集了大量由社区维护的以及热门的研究数据集。我们鼓励您将数据集分享到 Hub,以帮助发展机器学习社区并加速每个人的进步。我们欢迎所有贡献;添加数据集只需简单的拖放即可完成!
如果您还没有 Hugging Face Hub 账户,请先创建账户。
使用 Hub UI 上传
Hub 的 Web 界面允许没有开发经验的用户上传数据集。
创建存储库
存储库托管您的所有数据集文件,包括修订历史,使得存储多个数据集版本成为可能。
- 点击您的个人资料并选择 New Dataset 来创建一个新的数据集存储库。
- 为您的数据集选择一个名称,并选择它是公开数据集还是私有数据集。公开数据集任何人可见,而私有数据集仅能由您或您组织成员查看。

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

- 拖放您的数据集文件,并添加一条简短的描述性提交信息(commit message)。

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

创建数据集卡片
添加数据集卡片对于帮助用户找到您的数据集并了解如何负责任地使用它非常有价值。
- 点击 Create Dataset Card 来创建数据集卡片。此按钮将在您的存储库中创建一个
README.md文件。

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

- 点击编辑器顶部的 Import dataset card template 链接以自动创建数据集卡片模板。填写该模板是向社区介绍您的数据集并帮助用户理解如何使用它的绝佳方式。关于优秀数据集卡片应具备的外观,请参考详细示例 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)要为数据集添加新配置(或子集)或添加新切分(train/validation/test),请参考 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 上更新