[英]Keras Conv1D ValueError: Input 0 of layer sequential is incompatible with the layer: : expected min_ndim=3, found ndim=2
[英]ValueError: Input 0 is incompatible with layer conv2d_5: expected ndim=4, found ndim=2
我正在尝试建立一个CNN网络,并想使用output_shape探测层的尺寸。 但这给了我一个错误,如下所示:
ValueError:输入0与层conv2d_5不兼容:预期ndim = 4,找到的ndim = 2
以下是我尝试执行的代码
from keras.layers import Activation
model = Sequential()
model.add(Convolution2D(32, 3, 3, activation='relu', input_shape=(1,28,28)))
print(model.output_shape)
您可以检查默认情况下是否在最后指定了通道数
from keras import backend as K
print(K.image_data_format()) # print current format
在我的系统上,这将打印“ channel_last”,这表示input_shape
(28)的最后一个数字是通道数,而1是行数。 这也是Keras给出错误的原因,因为您无法将3 x 3卷积蒙版应用于只有1行的图像(默认填充设置为“有效”)。
您最有可能希望将input_shape
设置为(28, 28, 1)
input_shape
(28, 28, 1)
。
另外,如果您希望内核为3 x 3内核,则应为
model.add(Convolution2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
您当前拥有的是一个卷积层,其内核大小为3 x 3 ,步幅为3。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.