Я пытаюсь построить 1D CNN, но я не могу передать нужные размеры моему последнему плотному слою
Архитектура моей модели:
model_CNN=Sequential()
model_CNN.add(Conv1D(14, 29, activation='relu', input_shape=(X_train.shape[1], 1)))
model_CNN.add(Conv1D(30, 22, activation='relu'))
model_CNN.add(Flatten())
model_CNN.add(Dense(176,activation='relu'))
model_CNN.add(Dense(Y_train.shape[1],activation='linear'))
Со сводкойэто выглядит как
Layer (type) Output Shape Param #
=================================================================
conv1d_71 (Conv1D) (None, 3304, 14) 420
_________________________________________________________________
conv1d_72 (Conv1D) (None, 3283, 30) 9270
_________________________________________________________________
flatten_18 (Flatten) (None, 98490) 0
_________________________________________________________________
dense_102 (Dense) (None, 176) 17334416
_________________________________________________________________
dense_103 (Dense) (None, 5) 885
=================================================================
Total params: 17,344,991
Trainable params: 17,344,991
Non-trainable params: 0
Когда я пытаюсь подогнать свою модель, я подтверждаю, что моя форма ввода верна (240, 3332, 1), но затем я получаю следующую ошибку
ValueError: Error when checking target: expected dense_103
to have 2 dimensions, but got array with shape (240, 5, 1)
Таким образом, моя функция выравнивания не создает одномерный массив, но также почему-то происходит сбой ввода только на втором плотном слое, а не на первом.Что происходит?