1

Я ищу дизайн LSTM-модели с использованием Tensorflow, где предложения имеют разную длину. Я наткнулся на учебник по набору данных PTB (https://github.com/tensorflow/tensorflow/blob/master/tensorflow/models/rnn/ptb/ptb_word_lm.py). Как эта модель захватывает экземпляры различной длины? В примере ничего не говорится о дополнении или другой технике для обработки последовательностей переменных.Динамическая модель LSTM в Tensorflow

Если я использую прокладку, каково должно быть развернутое измерение?

ответ

1

Вы можете сделать это двумя способами.

  1. У TF есть способ указать размер ввода. Ищите параметр под названием «sequence_length», я использовал его в tf.nn.bidirectional_rnn. Таким образом, TF будет разворачивать вашу ячейку только до sequence_length, но не до размера шага.

  2. Вставьте свой вход с предопределенным фиктивным входом и предопределенным фиктивным выходом (для фиктивного вывода). Ячейка lstm научится прогнозировать фиктивный вывод для фиктивного ввода. При использовании (скажем, для вычисления матрицы) отруба фиктивных частей.

0

Модель PTB усечена во времени - она ​​всегда обратная - распространяет фиксированное количество шагов (num_steps в конфигурациях). Таким образом, нет отступов - он просто считывает данные и пытается предсказать следующее слово и всегда читает слова num_steps за раз.

+0

Да, я тоже получаю это от потока кода. Однако мне нужно использовать предсказание последовательности, которое принимает ввод переменной длины. Если я использую более короткие предложения с 0, как я могу вернуться с 0s во входных или ожидаемых ярлыках в последовательности вывода? – user3480922

Смежные вопросы