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

为何设置class_mode=None时CNN模型评估返回[0.0, 0.0]?

问题原因解析
  • 核心原因是模型评估必须依赖真实标签:

    • 当测试集生成器设置class_mode=None时,生成器只会输出图像数据,不会返回对应的真实类别标签。而分类任务里的损失函数(比如常用的categorical_crossentropy)和准确率指标,都需要拿真实标签和模型预测结果做对比才能计算,没有真实标签的话,Keras无法完成有效计算,只能返回默认的[0.0, 0.0]。
    • 当设置class_mode='categorical'时,生成器会同时输出图像数据和one-hot编码的真实标签,模型评估时有了对比基准,自然能算出正常的损失和准确率。
  • 额外说明:如果确实需要用class_mode=None的生成器,你可以手动收集测试集的真实标签,然后调用model.evaluate(x=test_generator, y=test_labels)来完成评估,前提是你能获取到测试集的标签数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 02:09:09