Я использую класс tf.nn.dynamic_rnn
для создания LSTM.Я натренировал эту модель на некоторых данных, и теперь я хочу проверять, каковы значения скрытых состояний этого обученного LSTM на каждом временном шаге, когда я предоставляю ему некоторый вход.
После некоторого изучения SOи на странице TensorFlow на GitHub я увидел, что некоторые люди упоминали, что я должен написать свою собственную ячейку LSTM, которая возвращает все, что я хочу, напечатанное как часть output
LSTM.Тем не менее, мне это не кажется прямым, поскольку скрытые состояния и выходные данные LSTM не имеют одинаковых форм.
Мой выходной тензор из LSTM имеет форму [16, 1]
, а скрытое состояние - этотензор формы [16, 16]
.Конкатенация их дает тензор формы [16, 17]
.Когда я пытался вернуть его, я получаю сообщение об ошибке, в котором говорится, что для некоторых операций TensorFlow требуется тензор формы [16,1]
.
Кто-нибудь знает, как легче обойти эту ситуацию?Мне было интересно, можно ли использовать tf.Print
, чтобы просто напечатать требуемые тензоры.