You need to enable JavaScript to run this app. TensorFlow训练对话机器人报categorical crossentropy损失函数未知错误求助
优惠活动
大模型
产品
解决方案
定价
更多

TensorFlow训练对话机器人报categorical crossentropy损失函数未知错误求助

问题排查与修复方案

核心报错原因

你看到的Unknown loss function: categorical crossentropy报错本质是损失函数名称拼写错误,并非需要自定义损失函数:
你在model.compile行写的损失函数名是带空格的'categorical crossentropy',Keras内置的对应损失函数名中间是下划线,正确写法为'categorical_crossentropy'。

其他可修复的警告/逻辑问题

  • numpy数组创建警告:代码中training = np.array(training)会触发嵌套序列的弃用警告,按照提示修改为training = np.array(training, dtype=object)即可消除
  • SGD优化器学习率设置错误:你当前把SGD的学习率lr设为0,模型无法进行梯度更新学习,建议修改为合理值如lr=0.01
  • CUDA相关警告无需处理:是因为你本地没有配置对应版本的NVIDIA GPU驱动和CUDA环境,TensorFlow会自动切换到CPU运行,不影响训练逻辑

修改后的对应代码片段

# 修复numpy警告
training = np.array(training, dtype=object)

# 修复SGD学习率设置
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
# 修复损失函数名称错误
model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])

修改完成后重新运行代码即可正常训练。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 21:27:04