故障排除
本指南旨在为您提供解决一些常见问题所需的工具和知识。如果本指南中列出的建议未涵盖您的具体情况,请参阅寻求帮助部分,了解在哪里可以找到针对您的特定问题的帮助。
使用 push_to_hub 上传数据集时遇到的问题
身份验证问题
如果您在使用 Dataset.push_to_hub() 和 Hugging Face 访问令牌在 🤗 Hub 上共享数据集时遇到身份验证问题
- 请确保您用于身份验证的 Hugging Face 令牌具有 **写入** 权限。
- 在 OSX 上,在使用
huggingface-cli login
之前,清理钥匙串访问中所有 huggingface.co 密码以及重新配置git config --global credential.helper osxkeychain
可能会有帮助。
或者,您可以使用 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
)。
从自定义数据创建数据集时遇到的问题
从文件夹加载图像和音频
从文件夹创建数据集时,最常见的问题之一是文件结构不符合预期格式,或者元数据文件存在问题。
在相应的文档页面中了解有关所需文件夹结构的更多信息
腌制问题
使用 Dataset.from_generator 时遇到的腌制问题
创建数据集时,IterableDataset.from_generator() 和 Dataset.from_generator() 期望一个“可腌制”的生成器函数。这是必需的,因为需要使用 pickle
对函数进行哈希处理,以便能够将数据集缓存到磁盘上。
虽然生成器函数通常是“可腌制的”,但请注意生成器对象不是。因此,如果您使用的是生成器对象,则会遇到类似这样的 TypeError
TypeError: cannot pickle 'generator' object
当使用一个使用不可“腌制”全局对象的生成器函数时,例如数据库连接,也会发生此错误。如果是这种情况,您可以直接在生成器函数内部初始化此类对象以避免此错误。
Dataset.map 时的腌制问题
在多进程 Dataset.map() 中也可能发生腌制错误 - 对象会被腌制以传递给子进程。如果转换中使用的对象不可腌制,则无法缓存 map
的结果,这会导致引发错误。
以下是一些解决此问题的方法
- 解决腌制问题的通用解决方案是通过实现
__getstate__
/__setstate__
/__reduce__
手动确保对象(或生成器类)可腌制。 - 您还可以使用
new_fingerprint
参数在map
中提供您自己的唯一哈希值。 - 您还可以通过调用
datasets.disable_caching()
禁用缓存,但是,这是不可取的 - 阅读更多关于缓存重要性的信息
寻求帮助
如果上述故障排除建议没有帮助您解决问题,请联系社区和团队寻求帮助。
论坛
在 Hugging Face 论坛寻求帮助 - 在 🤗数据集类别 中发布您的问题。请确保撰写包含相关上下文的描述性帖子,并提供可复现的代码,以最大程度地提高解决您问题的机会!
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 @polinaeterna @mariosasko @albertvillanova
GitHub 问题
最后,如果您怀疑发现与库本身相关的错误,请在 🤗 数据集的 GitHub 存储库 上创建一个问题。包含有关错误的上下文:用于复现的代码片段、有关您的环境和数据的详细信息等,以帮助我们找出问题所在以及如何解决。
< > 更新 在 GitHub 上