Как я могу напечатать или вернуть тензоры активации из модуля BasicLSTMCell?
Базовое ядро Tensorflow BasicLSTMCell определено здесь. Я хочу напечатать стек некоторых тензоров активации, пока это ядро развернуто и вызывается итеративно.
Я попробовал два варианта, чтобы добиться этого.
Сначала я попытался вернуть эти тензоры из tf.nn.bidirectional_dynamic_rnn (которые используют эти fw/bw BasicLSTMCell), но нужно сделать слишком много изменений и исправить слишком много ошибок (если кто-нибудь достигнет этого, это было бы здорово),
Второй вариант - установить этот тензор как выходной тензор и вызвать его внутри сеанса, но вне ядра lstm.
Tensors = session.run([tf.get_default_graph().get_tensor_by_name("bidirectional_rnn/fw/fw/while/basic_lstm_cell/stack:0")], feed_dict = {
inputs['input']: input_tensor,
inputs['input_lengths']: seq_length,
})
Второй вариант дает ошибку:
ValueError: Operation 'bidirectional_rnn/fw/fw/while/basic_lstm_cell/stack' has been marked as not fetchable.
Есть ли другой вариант, чтобы на самом деле вернуть или напечатать эти тензоры?
До сих пор:
1) Я использовал array_ops.stack для наложения активаций и ops.convert_to_tensor для преобразования их в тензорные. Это, вероятно, работает, но я должен получить доступ к тензор стека, чтобы проверить это.
2) Я могу получить доступ только к весу и отклонениям модуля lstm.