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

Keras MLP训练报错Dimensions must be equal维度不匹配问题求解

问题根本原因
  • 输出层维度和标签维度不匹配:你的回归任务每个样本对应2个预测目标,标签形状为(样本数, 2),但输出层设置了10个神经元,导致模型输出形状为(batch_size, 10),和标签的(batch_size, 2)在计算均方误差时无法对齐,触发维度不匹配报错。
  • 修改损失为列表形式无法解决问题:该报错属于模型结构和数据标签的维度适配问题,和损失的传入格式无关。

报错中出现的数值8为你设置的batch_size,对应每个训练步输入的样本数量。

解决方法

方案1:调整输出层维度(适配当前2维标签,优先级最高)

将最后一层全连接层的神经元数量修改为2,和标签维度对齐即可,示例修改代码:

# 原错误输出层
# Dense(10, activation='linear')
# 修改后输出层
Dense(2, activation='linear')

方案2:调整标签维度(仅当你实际需要预测10个回归值时使用)

如果你的业务场景确实需要输出10个预测值,说明你当前的标签生成逻辑有误,需要重新处理训练/验证标签,将y_train_np、y_val_np的形状调整为(样本数, 10)。

修改完成后重新编译模型即可正常训练。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 16:06:03