Python Keras,输入形状不正确
我收到一个关于我的展平层输入尺寸的错误Python Keras,输入形状不正确,python,image,keras,convolution,Python,Image,Keras,Convolution,我收到一个关于我的展平层输入尺寸的错误 ValueError:未完全定义“展平”输入的形状(got(0、12、10)。请确保将完整的“input\u形状”或“batch\u input\u形状”参数传递到模型的第一层。 我收到这个错误是因为我的一个维度是零,对吗?试图找出为什么它被降到零,但不确定这个错误发生在哪里 我一直在试图计算卷积层之后,扁平层之前的输出应该是什么。与model.summary()相比,我无法让它们对齐 我不确定输出形状是如何格式化的,是无、宽、长、深吗 我用来计算输出形状
ValueError:未完全定义“展平”输入的形状(got(0、12、10)。请确保将完整的“input\u形状”或“batch\u input\u形状”参数传递到模型的第一层。
我收到这个错误是因为我的一个维度是零,对吗?试图找出为什么它被降到零,但不确定这个错误发生在哪里
我一直在试图计算卷积层之后,扁平层之前的输出应该是什么。与model.summary()
相比,我无法让它们对齐
我不确定输出形状是如何格式化的,是无、宽、长、深吗
我用来计算输出形状的方程式:(宽度-过滤器大小+2(填充)/移位)+1
格式:深度、宽度、高度
第一卷积形状:10,14,14第二个卷积形状:10,12,12 有人能解释一下为什么在下面的
model.summary()
output shape列中减少了第一个整数值的深度吗
```
```
在我的Convolution2D图层中输入的形状似乎不正确,但我已经按照文档的建议输入了
```
```
后端:Theano这是典型的维度排序问题,您似乎已将维度排序设置为“最后一个通道”,而您放置的输入形状使用的是“第一个通道”。我被默认为“最后一个通道”,因此我对此进行了更改,但现在我收到上面的错误,请查看我的新编辑。为什么第一个值现在是1182,即批大小e正确吗?现在看来您的输入数据的形状是错误的,应该是(1182,16,16,4)。因此我输入了该值并收到了此错误
ValueError:input 0与layer conv2d_17不兼容:预期ndim=4,发现ndim=5
您做错了什么,因为我给您的形状是4D,而不是5D。
_________________________________________________________________
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d_9 (Conv2D) (None, 2, 14, 10) 1450
_________________________________________________________________
activation_9 (Activation) (None, 2, 14, 10) 0
_________________________________________________________________
conv2d_10 (Conv2D) (None, 0, 12, 10) 910
_________________________________________________________________
activation_10 (Activation) (None, 0, 12, 10) 0
=================================================================
Total params: 2,360
Trainable params: 2,360
Non-trainable params: 0
model = Sequential()
batch_size = 20
nb_epoch = 20
nb_filters = 10
kernel_size = (3, 3)
input_shape = (4, 16, 16)
pool_size =(2, 2)
model.add(Convolution2D(nb_filters, (kernel_size[0], kernel_size[1]), input_shape=input_shape, kernel_initializer='TruncatedNormal'))
model.add(Activation('relu'))
model.add(Convolution2D(nb_filters, (kernel_size[0], kernel_size[1]), kernel_initializer='TruncatedNormal'))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=pool_size))
model.summary()
# model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(64, activation='relu'))
model.add(Dropout(.3))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss = 'binary_crossentropy', optimizer='Adamax', metrics=['accuracy'])