【问题标题】:ValueError: Error when checking target: expected (keras Sequence model layer) to have n dimensions, but got array with shapeValueError:检查目标时出错:预期(keras 序列模型层)具有 n 维,但得到的数组具有形状
【发布时间】:2020-04-12 10:31:22
【问题描述】:

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

  • Xtrain 是一个形状为 (1380,200,200,3 ) 的 numpy ndarray,包含 1380 张 200 x 200 像素的 RGB 格式图像
  • Ytrain 有目标。形状 (1380,2)

当我训练我的模型 (model.fit(Xtrain,Ytrain)) 时,我似乎在每个层上都得到了一个值错误。好像输入既是Xtrain,又是Ytrain...

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

图片:

【问题讨论】:

    标签: python tensorflow keras valueerror


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-03
      • 1970-01-01
      • 1970-01-01
      • 2020-07-16
      • 2020-02-05
      • 1970-01-01
      • 2018-09-18
      相关资源
      最近更新 更多