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

CNN说话人识别中,加载带标签测试集是否影响模型预测?

关于CNN说话人识别测试集加载与预测的疑问解答

1. 加载带标签测试集是否属于“作弊”?模型predict会用这些标签吗?

  • 完全不算作弊。model.predict()方法只会使用输入的图像数据完成推理,不会读取或利用测试集的标签信息。
  • 设置class_mode='categorical'加载测试集,只是让数据生成器同时返回图像和对应真实标签,这些标签仅用于后续和模型预测结果对比,计算准确率等评估指标,和模型的预测过程本身没有任何关联。

2. 为什么class_mode=None时准确率为0,带标签时准确率正常?

出现这种差异的核心是class_mode=None时数据生成器的行为变化,导致准确率计算逻辑失效:

  • 当class_mode=None时,flow_from_directory仅返回图像数据,不会生成真实标签,同时不会维护训练阶段的类别映射顺序。如果你手动计算准确率时,仍沿用训练时的类别索引匹配逻辑,会出现预测结果和真实类别完全不对应的情况,最终准确率为0。
  • 检查class_mode=None时的预处理流程是否和训练/验证阶段完全一致,比如图像尺寸、归一化规则、颜色通道格式等,若预处理不匹配,会直接导致模型预测完全错误。
  • 另外,若你依赖生成器的类别顺序来关联预测结果和真实标签,class_mode=None时生成器不会按类别子文件夹的顺序输出样本,也会造成标签匹配完全错位,出现准确率为0的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 00:52:02