Reputation: 11
The last two maxPooling, are not working. THE CODE:
input_shape = (48,48,1)
output_class = 7
model = Sequential()
model.add(Conv2D(128, kernel_size=(3,3), activation='relu', input_shape=input_shape))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.4))
model.add(Conv2D(256, kernel_size=(3,3), activation='relu'))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.4))
model.add(Conv2D(512, kernel_size=(3,3), activation='relu'))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.4))
model.add(Conv2D(512, kernel_size=(3,3), activation='relu'))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.4))`
model.add(Flatten())
model.add(Dense(512, activation='relu'))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(2,2),data_format='channels_last',
input_shape=input_shape,padding='same')) #ERROR
model.add(Dropout(0.4))
model.add(Dense(256, activation='relu', input_shape=input_shape))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(2,2)))` #ERROR
model.add(Dropout(0.3))
model.add(Dense(output_class, activation='softmax'))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics='accuracy')
ERROR :
ValueError: Input 0 of layer "max_pooling2d_178" is incompatible with the layer: expected ndim=4, found ndim=2. Full shape received: (None, 512)
I have tried searching for an answer and other solutions on the internet. to no success.
without running that line of MaxPooling, the code runs successfully.
Upvotes: 1
Views: 18