I am trying to run a CNN-LSTM model on a series of images with dimensions (9219, 7, 7, 12) but I get the following error :
model = Sequential()
model.add(Conv1D(32, 4, activation='relu', padding='same', input_shape=(train_x.shape[1], train_x.shape[2], train_x.shape[3])))
model.add(LSTM(32, return_sequences=True))
model.add(MaxPooling1D(2))
model.add(Conv1D(16, 8, activation="relu", padding='same'))
model.add(LSTM(64, return_sequences=True))
model.add(MaxPooling1D(2))
model.add(Conv1D(16, 8, activation="relu", padding='same'))
model.add(LSTM(128))
model.add(Dense(3, activation='sigmoid'))
And I get this error
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-117-d8b5365ec22e> in <cell line: 4>()
2
3 model.add(Conv1D(32, 4, activation='relu', padding='same', input_shape=(train_x.shape[1], train_x.shape[2], train_x.shape[3])))
----> 4 model.add(LSTM(32, return_sequences=True))
5 model.add(MaxPooling1D(2))
6 model.add(Conv1D(16, 8, activation="relu", padding='same'))
2 frames
/usr/local/lib/python3.10/dist-packages/keras/engine/input_spec.py in assert_input_compatibility(input_spec, inputs, layer_name)
233 ndim = shape.rank
234 if ndim != spec.ndim:
--> 235 raise ValueError(
236 f'Input {input_index} of layer "{layer_name}" '
237 "is incompatible with the layer: "
ValueError: Input 0 of layer "lstm_32" is incompatible with the layer: expected ndim=3, found ndim=4. Full shape received: (None, 7, 7, 32)
input_shape=(train_x.shape[1], train_x.shape[2])?input_shape=(train_x.shape[1], train_x.shape[2] * train_x.shape[3])