Различный вход time_step для LSTM в Керасе - PullRequest
0 голосов
/ 17 марта 2019

Я пытаюсь построить сеть кодировщик-декодер для классификации видеоданных. Читая документацию Keras для ячеек LSTM, он ожидает фиксированное число time_step для ячейки. Однако данные, с которыми я имею дело, имеют разное количество кадров для каждой категории. Я думаю, что смогу выбрать самый длинный и дополнить остальные начальными или конечными кадрами, но я думаю, что модель будет смещена в сторону с аналогичными кадрами. Есть ли способ, которым я могу подать входные данные с разными time_step в ячейку LSTM в Керасе? Я мог бы поставить токены <start> и <end> в начале и конце последовательности, чтобы сообщить сети, когда следует делать прогноз, но я не уверен, как это сделать.

Любая помощь будет очень признателен, спасибо!

1 Ответ

0 голосов
/ 17 марта 2019

Считывая документацию Keras для ячеек LSTM, он ожидает фиксированное число time_step к ячейке.

Я не знаю, где вы получите эту информацию, но вы можете передать переменную длинупоследовательность (переменная time_step dim) для lstm. LSTM класс является дочерним по отношению к классу RNN, и в документации keras RNN говорится.

Этот слой поддерживает маскирование для входных данных с переменным числом временных шагов

Чтобы передать последовательность переменной длины в LSTM, измерение временных шагов должно быть None.Например,

model = Sequential()
model.add(LSTM(32, input_shape=(None, 10)))
...