为什么在喀拉拉邦的第二次卷积中没有提到输入形状?

时间:2018-08-07 08:58:53

标签: python neural-network keras convolution

我正在用keras学习卷积神经网络。在实现convolution2d时,我们没有第二次提及输入形状。为什么会这样呢?在此先感谢:)

例如:

model = Sequential()

model.add(Convolution2D(32, 3, 3, activation='relu', input_shape=(1,28,28)))
model.add(Convolution2D(32, 3, 3, activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.25))

2 个答案:

答案 0 :(得分:2)

输入形状仅在您的第一层上定义。通过此链接Guide to Sequential modelling

  

模型需要知道它应该期望的输入形状。因此,顺序模型中的第一层(并且只有第一层,因为随后的层可以进行自动形状推断)需要接收有关其输入形状的信息。有几种方法可以做到这一点:

答案 1 :(得分:0)

仅在第一层需要输入形状,因为这会将有关输入的信息添加到模型中,而Keras无法推断出此信息,因为数据是由您提供的。

随后的图层可以由Keras推断其输出形状,因为它们通常表示固定的变换,因此仅需要第一层的输入形状。