首页 > 解决方案 > 函数 model.fit() 中的错误不兼容形状

问题描述

我是 Keras 的新手。我想试试U-net。我使用了来自 tensorflow 的本教程:https ://github.com/tensorflow/models/blob/master/samples/outreach/blogs/segmentation_blogpost/image_segmentation.ipynb 。我使用自己的数据集创建 U-net 的代码。他们有 256x256x3 的图像,我用相同的形状制作了我的图像。现在,我得到了错误:

 InvalidArgumentError: Incompatible shapes: [1376256] vs. [458752]
     [[{{node training/Adam/gradients/loss/conv2d_23_loss/mul_grad/BroadcastGradientArgs}}] ]

它在函数 model.fit() 中。我有 130 个训练示例,批量大小为 5(我知道,这些数字很小......)。请问,有谁知道,是什么导致函数model.fit()出现这个错误?

感谢您的帮助。

标签: tensorflowkeras

解决方案


1376256 正好是 3 x 458752。我怀疑你在某处没有正确考虑你的频道。由于这似乎在您的输出层上,因此当只有 1 个类时,您可能正在尝试预测 3 个类。

将来,或者如果这没有帮助,请提供更多信息,包括您的模型的代码和您尝试预测的类数,以便人们可以更好地提供帮助。


推荐阅读