这是模型。
model = Sequential()
model.add(Reshape((3,150,150), input_shape=(150,150,3)))
model.add(ZeroPadding2D((1,1)))
print(model.output_shape)
model.add(Conv2D(64,(3,3), activation='relu'))
print model.output_shape
(None, 5, 152, 150)
(None, 3, 150, 64)
当我尝试输入数据时,我得到了这个
ValueError: Error when checking target: expected conv2d_35 to have 4 dimensions, but got array with shape (32, 1)
输出形状似乎没有给我层看到的内容。图层正在显示(32,1),而输出形状正在打印正确的4维(无(批量大小约为32),3,150,64)
我做错了什么?为什么这个形状(32,1)?
答案 0 :(得分:0)
您的数据没有4个维度,您的数据有形状(32,1)。
另一方面,您的模型期望具有4维的数据:(无,3,150,64)。
模型的输出形状必须与数据的形状(Y)相同。
使用model.summary一次查看所有形状。