使用HuggingFace load_dataset加载自定义数据集遇文件缺失错误求助
解决Hugging Face自定义数据集加载时的FileNotFoundError问题
以下是针对你问题的具体排查和解决步骤:
1. 核对数据集仓库的文件结构与配置
- 确保你的Hugging Face仓库里**所有文件(包括隐藏文件)**和原数据集完全一致:
- 重点检查
.gitattributes文件,Hugging Face依赖它识别数据集的存储格式(比如Arrow/Parquet),原仓库的这个文件不能修改或遗漏。 - 对比原数据集的
dataset_info.json、config.json(如果存在),确认文件里指定的文件名、路径和你上传的实际文件100%匹配。
- 重点检查
- 直接在Hugging Face数据集页面的「Files and versions」标签下,查看你仓库的文件层级,确保没有缺失子文件夹或文件。
2. 检查上传过程的完整性
- 如果是手动上传文件,确认所有嵌套文件夹(比如
data/train/这类结构)都完整上传,没有遗漏底层的Parquet/Arrow文件。 - 如果用代码上传,建议用
push_to_hub方法直接从原数据集推送到你的仓库,避免手动操作出错:from datasets import load_dataset # 加载原数据集 original_dataset = load_dataset("FelipeBandeiraPoatek/invoices-donut-data-v2", split="train") # 直接推送到你的仓库 original_dataset.push_to_hub("你的用户名/invoices-donut-data-v2")
3. 强制绕过本地缓存重新加载
- 除了删除本地缓存,在加载时添加参数强制重新拉取仓库文件:
dataset = load_dataset("你的用户名/invoices-donut-data-v2", split="train", force_download=True, cache_dir=None)
4. 验证文件可用性与仓库权限
- 在Hugging Face数据集页面,找到报错中提到的缺失文件,点击下载链接确认文件能正常打开。如果文件损坏或无法下载,重新上传该文件。
- 如果你的仓库是私有库,加载时要添加认证参数:
dataset = load_dataset("你的用户名/invoices-donut-data-v2", split="train", use_auth_token=True)
内容的提问来源于stack exchange,提问作者Felipe Bandeira Ramos
相关产品推荐
相关产品推荐

