数据集文档
将数据集分享到 Hub
并获得增强的文档体验
开始使用
将数据集分享到 Hub
Hub 汇集了由社区策划的大量精选和热门研究数据集。我们鼓励你将你的数据集分享到 Hub,以帮助壮大 ML 社区,并加速每个人的进步。欢迎所有贡献;添加数据集只需拖放即可!
如果你还没有帐户,请先创建一个 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。

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

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

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

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

- 点击编辑器顶部的 Import dataset card template(导入数据集卡片模板)链接,以自动创建数据集卡片模板。填写模板是将你的数据集介绍给社区并帮助用户了解如何使用它的好方法。有关优秀数据集卡片应是什么样子的详细示例,请查看 CNN DailyMail Dataset 卡片。
加载数据集
一旦你的数据集存储在 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 上更新