Datasets 文档
故障排除
并获得增强的文档体验
开始使用
疑难解答
本指南旨在为您提供应对常见问题所需的工具和知识。如果本指南中列出的建议未能涵盖您的情况,请参考“寻求帮助”部分,了解在哪里可以获得特定问题的帮助。
使用 push_to_hub 上传数据集时出现的问题
身份验证问题
如果您在使用 Dataset.push_to_hub() 和 Hugging Face 访问令牌在 🤗 Hub 上共享数据集时遇到身份验证问题
- 请确保您用于自我验证的 Hugging Face 令牌是具有写入权限的令牌。
- 在 OSX 上,清理 keychain access 中的所有 huggingface.co 密码,并重新配置
git config --global credential.helper osxkeychain,然后再使用huggingface-cli login可能会有帮助。
或者,您可以使用 SSH 密钥进行身份验证——在 🤗 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)。
从自定义数据创建数据集时出现的问题
从文件夹加载图像和音频
从文件夹创建数据集时,最常见的问题之一是文件结构不符合预期格式,或者元数据文件存在问题。
在相应的文档页面中了解有关所需文件夹结构的更多信息
序列化问题
使用 Dataset.from_generator 时的序列化问题
创建数据集时,IterableDataset.from_generator() 和 Dataset.from_generator() 期望一个“可序列化”的生成器函数。这是必需的,以便使用 pickle 对函数进行哈希,以便能够将数据集缓存到磁盘。
虽然生成器函数通常是“可序列化”的,但请注意生成器对象不是。因此,如果您使用的是生成器对象,将会遇到类似以下的 TypeError
TypeError: cannot pickle 'generator' object当使用使用不可“序列化”的全局对象(例如数据库连接)的生成器函数时,也可能出现此错误。如果是这种情况,您可以直接在生成器函数内部初始化此类对象以避免此错误。
Dataset.map 的序列化问题
在多进程 Dataset.map() 中也可能发生序列化错误 - 对象被序列化后传递给子进程。如果转换中使用的对象不可序列化,则无法缓存 map 的结果,从而导致错误。
以下是解决此问题的一些方法
- 解决序列化问题的通用方法是,通过实现
__getstate__/__setstate__/__reduce__来确保对象(或生成器类)是可手动序列化的。 - 您也可以在
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
最后,如果您怀疑发现了与库本身相关的错误,请在 🤗 Datasets GitHub 存储库 上创建一个 Issue。请提供有关错误的上下文:用于重现的代码片段、您的环境和数据详情等,以帮助我们弄清楚问题所在以及如何解决。
在 GitHub 上更新