Ядро BasicLSTMCell Tensorflow определено в здесь .Я хочу напечатать стек некоторых тензоров активации, пока это ядро развернуто и вызывается итеративно.
Я попробовал два варианта для достижения этой цели.
Сначала я попытался вернуть эти тензоры из 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.