You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Hugging Face load_dataset加载adversarial_qa时遇NonMatchingSplitsSizesError

解决adversarial_qa数据集加载的NonMatchingSplitsSizesError问题

问题分析

从报错信息可知,数据集元数据记录的样本量(预期train/validation/test为30000/3000/3000)与实际下载的parquet文件样本量(实际为60000/6000/6000)不匹配,大概率是数据集维护方更新了数据但未同步更新元数据,或是本地缓存的旧元数据未刷新导致冲突。

有效解决方案

1. 彻底清理本地缓存(推荐)

旧缓存的元数据是冲突根源,清理后重新下载即可解决:

  • 先查看datasets缓存目录:
    from datasets import get_cache_dir
    print(get_cache_dir())
    
  • 删除adversarial_qa相关缓存文件夹,默认路径下执行:
    rm -rf ~/.cache/huggingface/datasets/adversarial_qa
    
  • 重新运行加载代码:
    dataset = load_dataset('adversarial_qa', 'adversarialQA', download_mode="force_redownload")
    

2. 跳过验证临时加载(应急用)

新版本datasets库用verification_mode="no_checks"替代了旧的ignore_verifications参数,可直接跳过split大小验证:

dataset = load_dataset('adversarial_qa', 'adversarialQA', verification_mode="no_checks")

3. 直接加载最新parquet文件(无需手动下载)

不依赖数据集元数据,直接指定HF上的最新parquet文件路径加载:

dataset = load_dataset(
    'parquet',
    data_files={
        'train': 'https://huggingface.co/datasets/adversarial_qa/resolve/main/adversarialQA/train.parquet',
        'validation': 'https://huggingface.co/datasets/adversarial_qa/resolve/main/adversarialQA/validation.parquet',
        'test': 'https://huggingface.co/datasets/adversarial_qa/resolve/main/adversarialQA/test.parquet'
    }
)

4. 手动修改本地元数据(进阶)

若不想删除缓存,可手动更新缓存中的元数据文件:

  • 找到缓存目录下的adversarial_qa/adversarialQA/dataset_info.json
  • 修改splits字段中的num_examples和num_bytes为报错中显示的实际数值(比如train的num_examples改为60000,num_bytes改为55764872)
  • 保存后重新加载数据集即可

内容的提问来源于stack exchange,提问作者Penguin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:02:02