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

TensorFlow训练Graph execution error求助:logits与labels维度不匹配

问题解决:Keras训练时logits与labels形状不匹配错误

错误根源

报错logits_size=[16,5] labels_size=[16,11]明确说明:模型最后一层输出的类别数(5)和数据集实际的类别数(11)不匹配,导致损失计算时两者无法进行广播运算,直接终止训练。

解决步骤

  • 确认数据集类别数:从labels的形状[16,11]可验证,你的数据集实际包含11个类别,需确保数据加载逻辑未错误过滤类别。
  • 修改模型输出层:找到模型定义的最后一层Dense层,将units参数从5改为11。示例:
    原代码若为:
    model.add(Dense(5, activation='softmax'))
    
    修改为:
    model.add(Dense(11, activation='softmax'))
    
  • 匹配损失函数与标签格式:如果标签是one-hot编码(形状[batch_size,11]),损失函数使用CategoricalCrossentropy;如果是整数标签(形状[batch_size]),则使用SparseCategoricalCrossentropy,确保两者对应。
  • 验证模型结构:修改后运行model.summary(),确认最后一层输出维度为(None, 11),与标签形状匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 08:15:49