Как я могу напечатать или вернуть тензоры активации из модуля 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.

0 ответов

Другие вопросы по тегам