Datasets 文档
将数据集共享到 Hub
并获得增强的文档体验
开始使用
将数据集共享到 Hub
Hub 是一个汇集了大量社区精心策划和热门研究数据集的地方。我们鼓励您将您的数据集分享到 Hub,以帮助壮大机器学习社区并加速每个人的进步。我们欢迎所有贡献;添加一个数据集就像拖放一样简单!
如果您还没有 Hugging Face Hub 账户,请先创建一个。
使用 Hub UI 上传
Hub 的网页界面允许没有任何开发经验的用户上传数据集。
创建存储库
存储库托管您所有的数据集文件,包括修订历史记录,这使得存储多个版本的数据集成为可能。
- 点击您的个人资料并选择 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 (元数据界面),其中有几个字段可供选择,例如许可证、语言和任务类别。这些是帮助用户在 Hub 上发现您的数据集的最重要标签。当您从每个字段中选择一个选项时,它们将自动添加到数据集卡片的顶部。
您也可以查看 数据集卡片规范,其中包含一套完整的(但非必需的)标签选项,例如
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)
要向数据集添加新配置(或子集)或添加新的拆分(训练/验证/测试),请参考 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 上更新