Keras ValueError:(';检查模型输入时出错:预期没有数据,但得到:';,数组)

Keras ValueError:(';检查模型输入时出错:预期没有数据,但得到:';,数组),keras,deep-learning,Keras,Deep Learning,我正试图用自己的图像数据构建一个inception和resnet模型。该数据集共有8000幅图像,有6个标签。在构建模型时,一切都很顺利。但是提到的错误发生在model.fit()中。 在花了14个小时后,我真的不确定问题出在哪里 我尝试了以下方法 更改图像维度顺序 对keras.json进行更改 更改模型中的输入张量形状 错误图像: inception\u model=InceptionV3(输入\u张量=inception\u model.input,包括\u top=True,权重='im

我正试图用自己的图像数据构建一个inception和resnet模型。该数据集共有8000幅图像,有6个标签。在构建模型时,一切都很顺利。但是提到的错误发生在
model.fit()
中。 在花了14个小时后,我真的不确定问题出在哪里

我尝试了以下方法

  • 更改图像维度顺序

  • 对keras.json进行更改

  • 更改模型中的输入张量形状

  • 错误图像:

    inception\u model=InceptionV3(输入\u张量=inception\u model.input,包括\u top=True,权重='imagenet')
    初始层=初始层模型。获取层(“预测”)。输出
    inception\u out=Dense(num\u类,activation='softmax',name='output')(inception\u last\u层)
    custom_inception=模型(inception_Model.input,inception_out)
    对于自定义_inception中的层。层[:-3]:
    layer.trainable=错误
    自定义_inception.compile(loss='classifical_crossentropy',optimizer='adam',metrics=['accurity','mse','mae','mape']))
    序列初始值=自定义初始值.fit(X序列、y序列、批量大小=8、历代数=2)
    
    编辑:我目前正在使用keras 2.2.0,在github中遇到一些keras问题后,我从最新版本中降级了它。它确实解决了一些最初的问题。我目前使用的是各自python文件中的inception和resnet,我对它们做了一些更改
    include\u top=include\u top
    require\u flant=包括顶部
    from

    编辑2:以下是输入形状

    (1690, 220, 220, 1)  is the X_train shape
    (1690, 6)  is the y_train 
    (423, 220, 220, 1)  is the X_test shape
    (423, 6)  is the y_test 
    

    通过以下步骤解决此问题:

    input_tensor=Input((300,300,3))
    
    代替

    input_tensor = inception_model.input
    
  • 将tensorflow和keras升级至1.13.1和2.2.4
  • 使用输入形状定义模型
    (300300,3)
    ,并在通道轴上堆叠my
    (300300,1)
    输入三次,以便匹配
    (300300,3)

  • 你能提供X_train.shape和y_train.shape的结果吗?当然,我会在一秒钟内添加一个详细的形状png。你只需复制和粘贴结果,用
    python
    分隔,它会看起来更干净。对象是什么:inception\u model.input,它是张量吗?如果您使用的是[this version of inception](),则您的模型在构造函数中似乎不需要此参数。是的,它是一个带形状的张量(无、图像行、图像列、通道)