У меня есть набор для обучения и тестирования со следующими измерениями:
X_train.shape = (1,10767,11) and y_train.shape = (1,10767,3)
Я пытаюсь реализовать CNN, чтобы предсказать y_train. Архитектура моей модели выглядит следующим образом:
model = keras.models.Sequential()
model.add(Conv1D(32, kernel_size=5, strides=2, activation='relu', input_shape= (None,11)))
model.add(Conv1D(64, kernel_size=2, strides=1, activation='relu'))
model.add(Dense(64, activation='relu'))
model.add(Dense(3, activation='sigmoid')) # Final Layer using Softmax
epochs = 10
lrate = 0.01
decay = lrate/epochs
sgd = SGD(lr=lrate,momentum=0.9,decay=decay, nesterov=False)
model.compile(loss='mean_squared_error', optimizer='sgd', metrics = ['mse'])
Однако, когда я использую подгонку, после печати моей первой эпохи я получаю следующую ошибку:
Несовместимые формы: [1,5381,3] против [1,10767,3]
Я пытался добавить слой Flatten перед моим последним плотным слоем, однако проблема в том, что форма не полностью определена, что делаетмне изменить мою input_shape на (10767,11). Тем не менее, во время подгонки я все еще получаю ошибку:
ожидал, что плотность_99 будет иметь 2 измерения, но получил массив с формой (1, 10767, 3)
, который является моимпоследний плотный слой.
Если я попытаюсь уменьшить размеры во входной форме и в моих данных, он скажет, что ожидалось измерение 3, а я дал измерение 2.