Ошибка компиляции нейронной сети CNN LSTM - PullRequest
2 голосов
/ 25 июня 2019

Я пытаюсь создать нейронную сеть с кератами, которые будут иметь в качестве входных N многомерный временной ряд и в качестве целевого выходного N временных рядов. Я преобразовал временной ряд в контролируемую проблему с помощью метода окна или лага. В качестве входных данных у меня есть 4D-матрица (сэмплы, переменные, последовательность, задержка), а в качестве выходных данных 2D-матрица (сэмплы, последовательность). Я нашел похожие примеры, в которых использовались модели CNN + LSTM, но у меня возникают трудности с их применением. Если это помогает, у меня есть train_X, train_y, test_X, test_y с размерами (112, 5, 7998, 2) (112, 7998) (29, 5, 7998, 2) (29, 7998)

Я пытался применить и удалить оболочку TimeDistributed Keras только для части CNN и всей модели. Соответствующая часть кода ниже.

model = Sequential()

model.add(TimeDistributed(Conv2D(filters=32, kernel_size=(1, 80), activation='relu', padding='same', input_shape=(train_X.shape[1], train_X.shape[2], train_X.shape[3]))))



model.add(TimeDistributed(MaxPool2D(pool_size=(1, 2),strides=1)))
model.add(TimeDistributed(Dropout(0.5)))

model.add(TimeDistributed(Flatten()))

model.add(TimeDistributed(LSTM(100, return_sequences=True)))
model.add(TimeDistributed(Dropout(0.2)))

model.add(TimeDistributed(Dense(units=1)))
model.compile(loss='mean_squared_error', optimizer='adam')

Я получаю ошибку индекса.

IndexError: список индексов вне диапазона

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