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

如何解决Huggingface Transformers中‘Trainer: evaluation requires an eval_dataset’错误

问题原因与解决办法

你报错的核心原因很明确:你在TrainingArguments里设置了evaluation_strategy="epoch",这个参数会强制Trainer在每个训练周期结束后执行评估操作,因此必须提供eval_dataset,否则就会抛出该错误。

你之前认为Trainer默认不评估是对的——它的默认evaluation_strategy值是"no",但你主动将这个参数改成了"epoch",等于主动开启了评估流程,自然就要求必须有评估数据集了。

解决步骤

  • 如果你确实不需要评估,直接把evaluation_strategy参数删掉,或者改成默认的"no"即可:
    training_args = TrainingArguments(
        output_dir=resume_from_checkpoint,
        # 移除evaluation_strategy,或显式设置为"no"
        per_device_train_batch_size=1,
    )
    
  • 这样修改后,Trainer只会执行训练流程,不会触发评估,也就不需要提供eval_dataset了,你定义的compute_metrics函数也不会被调用,留着也不影响。

内容的提问来源于stack exchange,提问作者An old man in the sea.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 08:57:12