如何从BasicLSTMCell模块内部打印或返回激活张量?

时间:2018-10-24 11:39:34

标签: python tensorflow lstm rnn mozilla-deepspeech

Tensorflow的BasicLSTMCell内核在here中定义。我想在展开并迭代调用该内核时打印一些激活张量的堆栈。

我尝试了两种选择来实现。

首先,我尝试从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 个答案:

没有答案