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

Keras构建单输入单输出感知机模型触发输出键不匹配ValueError报错

报错原因
  • 核心问题是输出层命名和编译阶段的损失配置键名不匹配:你给输出层Dense设置的name参数是output1,但losses字典里的键写的是output_1,多了一个下划线,Keras做参数校验时无法将损失函数和对应输出层绑定,因此触发报错。
  • 字典格式指定损失属于多输出模型的用法,你的模型是单输出场景,原本不需要用这种写法,这也是错误出现的潜在诱因。
解决方法

方案1:对齐命名

保持用字典传损失的写法,把losses的键修改为和输出层name一致的output1即可:

losses= {
    "output1": loss1,
}

方案2:简化单输出配置(更推荐)

单输出场景直接传入损失函数即可,不需要套字典,从根源上避免命名不匹配问题:

# 无需定义losses字典,编译时直接传入损失函数对象
model.compile(loss=loss1, optimizer=optim, metrics=metrics)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:24:00