预期输入有 4 个维度,但得到的数组具有形状
Posted
技术标签:
【中文标题】预期输入有 4 个维度,但得到的数组具有形状【英文标题】:expected input to have 4 dimensions, but got array with shape 【发布时间】:2018-07-25 10:34:59 【问题描述】:我有这个错误
检查输入时出错:预期 input_13 有 4 个维度,但得到的数组的形状为 (7, 100, 100)
对于以下代码,我应该如何重塑数组以适应 4 维,我搜索了它,但不理解以前的解决方案。如果不清楚它在卷积神经网络中非常常见的问题,请询问。
inputs=Input(shape=(100,100,1))
x=Conv2D(16,(3,3), padding='same')(inputs)
x=Activation('relu')(x)
x=Conv2D(8,(3,3))(x)
x=Activation('relu')(x)
x=MaxPooling2D(pool_size=(2,2))(x)
x=Dropout(0.2)(x)
x=Dense(num_classes)(x)
x=Activation('softmax')(x)
output=Activation('softmax')(x)
model=Model([inputs], output)
【问题讨论】:
【参考方案1】:如果 x
是您的数据数组,您应该简单地应用以下转换:
x = x.reshape((-1, 100, 100, 1))
【讨论】:
为什么我们使用-1你能解释一下吗 用法 -1 表示 -numpy
自动推断形状,以上是关于预期输入有 4 个维度,但得到的数组具有形状的主要内容,如果未能解决你的问题,请参考以下文章
ValueError:检查输入时出错:预期 conv2d_input 有 4 个维度,但得到的数组具有形状(无,1)
ValueError:检查输入时出错:预期 lstm_1_input 具有 3 个维度,但得到的数组具有形状 (393613, 50)
检查输入时出错:预期 input_1 有 4 个维度,但得到了形状为 (224, 224, 3) 的数组
检查输入时出错:预期 lstm_input 有 3 个维度,但得到的数组形状为 (4, 1)
ValueError:检查输入时出错:预期 permute_input 有 4 个维度,但得到了形状为 (1, 4) 的数组
Keras 图像分类:检查输入时出错:预期 input_1 有 4 个维度,但得到了形状为 (6885、7500) 的数组