Datasets 文档
故障排除
并获得增强的文档体验
开始使用
故障排除
本指南旨在为您提供解决一些常见问题所需的工具和知识。如果本指南中列出的建议未能涵盖您遇到的情况,请参阅寻求帮助部分,以了解如何就您的具体问题寻求帮助。
使用 push_to_hub 上传数据集时遇到的问题
身份验证问题
如果您在使用Dataset.push_to_hub()和 Hugging Face 访问令牌在 🤗 Hub 上共享数据集时遇到身份验证问题
- 请确保您用于身份验证的 Hugging Face 令牌具有写入权限。
- 在 OSX 上,清理您钥匙串访问中所有的 huggingface.co 密码,并重新配置 `git config --global credential.helper osxkeychain`,然后再使用 `huggingface-cli login`,可能会有所帮助。
另外,您可以使用 SSH 密钥进行身份验证——请在🤗 Hub 文档中阅读更多信息。
大型数据集上传时连接丢失
当向 Hub 上传大型数据集时,如果数据集分片数量很大,可能会在短时间内向 Hub 创建过多的提交。这将导致连接错误。连接错误也可能是由 Hub 内部使用的 AWS S3 存储桶返回的 HTTP 500 错误引起的。无论哪种情况,您都可以重新运行Dataset.push_to_hub()来继续上传数据集。Hub 会检查已上传分片的 SHA 值以避免重复上传。我们正在努力使上传过程对暂时性错误更具鲁棒性,因此更新到最新的库版本总是一个好主意。
请求过多
通过 `push_to_hub()` 上传大型数据集可能会导致错误。
HfHubHTTPError: 429 Client Error: Too Many Requests for url: ...
You have exceeded our hourly quotas for action: commit. We invite you to retry later.
如果您遇到此问题,需要将 `datasets` 库升级到最新版本(或至少 `2.15.0`)。
从自定义数据创建数据集时遇到的问题
从文件夹加载图像和音频
当从文件夹创建数据集时,最常见的问题之一是文件结构不符合预期格式,或者元数据文件有问题。
在相应的文档页面了解更多关于所需文件夹结构的信息:
Pickling 问题
使用 Dataset.from_generator 时的 Pickling 问题
创建数据集时,IterableDataset.from_generator() 和 Dataset.from_generator() 都需要一个“可 pickle”的生成器函数。这是为了使用`pickle`对函数进行哈希处理,以便能够将数据集缓存到磁盘上。
虽然生成器函数通常是“可 pickle”的,但请注意生成器对象不是。所以如果您使用生成器对象,您会遇到类似这样的 `TypeError`。
TypeError: cannot pickle 'generator' object
当使用一个使用了不可“pickle”的全局对象的生成器函数时,也可能发生此错误,例如数据库连接。如果是这种情况,您可以直接在生成器函数内部初始化该对象以避免此错误。
使用 Dataset.map 时的 Pickling 问题
Pickling 错误也可能发生在多进程的 Dataset.map() 中——对象会被 pickle 以便传递给子进程。如果在转换中使用的对象不可 pickle,则无法缓存 `map` 的结果,从而导致引发错误。
以下是一些解决此问题的方法:
- 解决 pickle 问题的一个通用方法是通过实现 `__getstate__` / `__setstate__` / `__reduce__` 来手动确保对象(或生成器类)是可 pickle 的。
- 您还可以在 `map` 中使用 `new_fingerprint` 参数提供您自己的唯一哈希值。
- 您也可以通过调用 `datasets.disable_caching()` 来禁用缓存,但这是不推荐的——请阅读更多关于缓存重要性的信息。
寻求帮助
如果上述故障排除建议未能帮助您解决问题,请向社区和团队寻求帮助。
论坛
在 Hugging Face 论坛上寻求帮助 - 在🤗 Datasets 类别中发布您的问题。请确保写一篇描述性的帖子,包含有关您的设置和可复现代码的相关上下文,以最大化您的问题得到解决的可能性!
Discord
在 Discord 上发布问题,让团队和社区帮助您。
🤗 Hub 上的社区讨论
如果您在 Hub 上创建自定义数据集时遇到问题,您可以在数据集的社区选项卡中发起讨论,向 Hugging Face 团队寻求帮助,并附上以下信息:
# Dataset rewiew request for <Dataset name> ## Description <brief description of the dataset> ## Files to review - file1 - file2 - ... cc @lhoestq @albertvillanova
GitHub Issues
最后,如果您怀疑发现了与库本身相关的 bug,请在 🤗 Datasets 的 GitHub 仓库中创建一个 Issue。请包含有关该 bug 的上下文信息:可复现的代码片段、您的环境和数据详情等,以帮助我们找出问题所在以及如何修复它。
< > 在 GitHub 上更新