Keras Flatten не создает 1D выход - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь построить 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)

Таким образом, моя функция выравнивания не создает одномерный массив, но также почему-то происходит сбой ввода только на втором плотном слое, а не на первом.Что происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...