图像分类器训练报错:未知损失函数'catigorical_crossentropy'求助
问题排查与解决方案:未知损失函数'catigorical_crossentropy'
核心问题定位
报错提示的Unknown loss function: 'catigorical_crossentropy'是拼写错误导致的——正确的TensorFlow多分类损失函数名称是categorical_crossentropy(你写的catigorical少了一个字母e)。
修复步骤
- 定位代码中模型编译的语句,找到指定损失函数的行
- 将错误的
catigorical_crossentropy替换为正确的categorical_crossentropy
示例修正代码
# 错误写法 model.compile( optimizer='adam', loss='catigorical_crossentropy', # 拼写错误 metrics=['accuracy'] ) # 正确写法 model.compile( optimizer='adam', loss='categorical_crossentropy', # 修正拼写 metrics=['accuracy'] )
额外注意事项
- 若你的标签是整数格式(而非独热编码),请改用
sparse_categorical_crossentropy作为损失函数,无需对标签做独热编码处理 - TensorFlow 2.x中
fit_generator已被弃用,直接使用model.fit()即可支持生成器输入,你改用fit的选择是正确的,只需完成上述拼写修复即可继续训练
内容的提问来源于stack exchange,提问作者Nerifia
相关产品推荐
相关产品推荐

