如果输入图像上的input_shape不同,如何使用keras

时间:2019-08-11 12:50:40

标签: python keras

我想使用keras来构建CNN构造,但是输入图像的形状会有所不同。使用较小的输入形状进行学习后,我认识到图像形状也会有所不同。

input_shape = (None, None, 3)

model = Sequential()

model.add(Conv2D(64, (3,3), input_shape=input_shape, padding='same', activation='relu'))

model.add(Conv2D(64, (3,3), padding='same', activation='relu'))
model.add(MaxPooling2D(2,2))

model.add(Conv2D(128, (3,3), padding='same', activation='relu'))

model.add(Conv2D(128, (3,3), padding='same', activation='relu'))

model.add(MaxPooling2D(2,2))

model.add(Conv2D(256, (3,3), padding='same', activation='relu'))

model.add(Conv2D(256, (3,3), padding='same', activation='relu'))

model.add(Conv2D(256, (3,3), padding='same', activation='relu'))

model.add(MaxPooling2D(2,2))

model.add(Conv2D(512, (3,3), padding='same', activation='relu'))

model.add(Conv2D(512, (3,3), padding='same', activation='relu'))

model.add(Conv2D(512, (3,3), padding='same', activation='relu'))

model.add(MaxPooling2D(2,2))

model.add(Conv2D(512, (3,3), padding='same', activation='relu'))

model.add(Conv2D(512, (3,3), padding='same', activation='relu'))

model.add(Conv2D(512, (3,3), padding='same', activation='relu'))

model.add(MaxPooling2D(2,2))

model.add(Flatten())

model.add(Dense(4000, activation='relu'))

model.add(Dense(4000, activation='relu'))

model.add(Dense(30, activation='relu'))

但是程序执行到“ Flatten()”错误。我可以使用什么?非常感谢。

1 个答案:

答案 0 :(得分:0)

您应该重塑为漂亮的方形...