当前位置: 首页 > 面试题库 >

Keras ValueError:输入0与层conv2d_1不兼容:预期ndim = 4,找到的ndim = 5

方苗宣
2023-03-14
问题内容

我已经检查了所有解决方案,但仍然遇到相同的错误。我的训练图像形状是(26721, 32, 32, 1),我相信它是4维的,但是我不知道为什么错误显示它是5维的。

 model = Sequential()

 model.add(Convolution2D(16, 5, 5, border_mode='same', input_shape= input_shape ))

所以这就是我的定义 model.fit_generator

model.fit_generator(train_dataset, train_labels, nb_epoch=epochs, verbose=1,validation_data=(valid_dataset, valid_labels), nb_val_samples=valid_dataset.shape[0],callbacks=model_callbacks)

问题答案:

问题是input_shape

它实际上应该仅包含3个维度。内部keras将添加批次尺寸使其成为4。

由于您可能使用input_shape了4维(包括批处理),因此keras将添加5维。

您应该使用input_shape=(32,32,1)



 类似资料:
  • 我正在尝试微调VGG16神经网络,下面是代码: 我得到这个错误: ValueError Traceback(最近一次调用上次)位于 2型号。添加(vgg16\U型号) 3#添加完全连接的层: ---- 5型号。添加(密集(256,激活='relu')) 6型号。添加(辍学(0.5)) /usr/local/anaconda/lib/python3.6/site-packages/keras/eng

  • 我试图基于GTSRB数据集(下面给出的链接)制作一个CNN模型,但我面临以下错误: 当我设置input\u shape=input\u shape=(3,IMG\u SIZE,IMG\u SIZE)时,我得到以下错误: ValueError:检查输入时出错:预期conv2d\u 34\u输入有4个维度,但得到了具有形状的数组(9030,1) 当我研究这个问题时,我发现一个解决方案可能是将batch

  • 我有一个在MNIST上训练过的模型,但当我放入一个手工制作的图像样本时,它会引发值错误:层序列的输入0与层不兼容:输入形状的轴-1预期值为784,但收到了形状的输入(无,1) 我已经检查了模型的输入,它与MNIST的形状相同。x\U列车【0】。形状(784,)和我的图像arr.shape(784,)请帮助! 。。。 ValueError:layer sequential的输入0与层不兼容:输入形状

  • 完全错误: 问题 我一直在努力建立一个神经网络,因为它不断抱怨收到的形状。x\u trian和y\u train的形状都是(20,)但当我将其输入为input\u形状时,它表示希望输入形状的值为20,但实际上收到了(None,1)。 我不明白(无,1)来自哪里,因为当我打印x_train和y_train的形状时,它给了我(20,)。它们都是数字数组。 代码 我试过的 然后我把input_shape

  • 我正在使用下面的代码使用GRU预测下一个单词。 低于异常。请帮我解决这个问题?? AttributeError Traceback(最近一次调用),在- c:\ users \ dixit \ appdata \ local \ programs \ python \ python 38 \ lib \ site-packages \ keras \ engine \ training . py

  • 问题内容: 我是新手。 我在下面编写了程序,以允许用户输入名称。 我运行了程序并输入了 尼克松的* 名字 * 为什么总是输出? 问题答案: func(* Reader)ReadString ReadString读取直到输入中第一次出现delim为止,并返回一个字符串,其中包含直到定界符(包括定界符)的数据。 终端输入包括尾随换行符。例如, 输出(Linux): 输出(Windows): 修剪尾随换