ValueError:检查目标时出错:预期(keras序列模型层)具有n个维度,但数组的形状为

时间:2019-12-19 20:06:35

标签: python tensorflow keras valueerror

我已加载图像以训练我的模型来识别这些图像中的一个特征。

  • Xtrain是形状为(1380,200,200,3 )的数字数组,其中包含1380张RGB格式的图像,尺寸为200 x 200像素
  • Ytrain有目标。形状(1380,2)

    shape and model layers

训练模型(model.fit(Xtrain,Ytrain))时,似乎在每个图层上都出现了值错误。好像输入都是Xtrain然后是Ytrain ...

  

ValueError:检查目标时出错:预期batch_normalization_24具有4个维,但数组的形状为(1380, 2)

图片:

error message

1 个答案:

答案 0 :(得分:2)

Keras批处理规范化层的输出的形状与其输入的形状相同。由于只有两个标签,因此顺序模型中的最后一层应生成两个输出。您可以考虑添加一个Dense层,例如:

model.add(Dense(2), activation='relu')

我还建议使用print(model.summary())检查模型的体系结构,并确保输入和输出与数据集匹配,反之亦然。