Как вы получаете все скрытые состояния от tf.nn.rnn()
или tf.nn.dynamic_rnn()
в TensorFlow? API дает мне только конечное состояние.
Первым вариантом было бы написать цикл при построении модели, которая работает непосредственно на RNNCell. Однако количество временных меток не фиксировано для меня и зависит от входящей партии.
Некоторые параметры - использовать GRU или написать собственный RNNCell, который объединяет состояние с выходом. Первый выбор не является достаточно общим, и последний кажется слишком хриплым.
Другой вариант - сделать что-то вроде ответов в этом вопросе, получив все переменные из RNN. Однако я не уверен, как здесь отделять скрытые состояния от других переменных стандартным образом.
Есть ли хороший способ получить все скрытые состояния из RNN, все еще используя API RNN, предоставляемые библиотекой?