分享数据集到 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 上更新