Google Colab用Keras训练模型报错:MSE损失下目标与输出形状不匹配
问题原因
这个报错的核心是模型输出维度与训练标签维度不匹配。你使用的均方误差损失要求模型输出形状和标签形状完全一致,当前你的训练标签单样本维度为1,总形状为(600,1),但模型单样本输出维度为16,输出总形状为(None,16),因此触发了维度校验错误。
解决步骤
- 优先检查模型最后一层的配置:如果你做的是单值回归任务(TinyML入门示例大多属于这类场景),将最后一层全连接层的输出单元数改为1即可,示例写法为
Dense(1)。你可以运行print(model_1.summary())打印完整模型结构,确认最后一层的输出形状是否为(None, 1)。 - 如果最后一层配置无问题,检查是否遗漏了输出层、或者误将输出维度为16的中间层当成了输出层。
- 你也可以运行
print(y_train.shape)确认标签形状是否正常,如果标签维度存在异常,可以通过y_train = y_train.reshape(-1, 1)手动修正维度。
调整完成后重新编译模型,再运行训练代码即可正常执行。
内容的提问来源于stack exchange,提问作者Jbc0510
相关产品推荐
相关产品推荐

