python - Tensorflow:在 LSTM 中显示或保存遗忘门值

标签 python neural-network tensorflow lstm

我使用的是 tensorflow 默认自带的 LSTM 模型。我想检查或想知道如何在每个步骤中保存或显示遗忘门的值,以前有没有人这样做过或至少做过类似的事情?

直到现在我已经尝试使用 tf.print 但出现了很多值(甚至比我预期的更多)我会尝试使用 tensorboard 绘制一些东西但我认为这些门只是变量而不是我可以打印的额外层(也因为它们在 TF 脚本中)

任何帮助都会受到欢迎

最佳答案

如果您使用 tf.rnn_cell.BasicLSTMCell ,您要查找的变量的名称中将包含以下后缀:<parent_variable_scope>/BasicLSTMCell/Linear/Matrix .这是所有四个门的级联矩阵。它的第一维匹配输入矩阵和状态矩阵(或准确地说是单元的输出)的第二维之和。第二个维度是单元格大小的4倍。

另一个互补变量是<parent_variable_scope>/BasicLSTMCell/Linear/Bias这是一个与上述张量的第二维大小相同的向量(原因很明显)。

您可以使用 tf.split() 检索四个门的参数沿维度 1。拆分矩阵的顺序为 [input], [new input], [forget], [output] .我指的是这里的代码形式 rnn_cell.py .

请记住,变量表示 Cell 的参数,而不是各个门的输出。但是有了以上信息,如果您愿意,我相信您也能得到。

编辑:
添加了有关实际张量的更多具体信息 MatrixBias

关于python - Tensorflow:在 LSTM 中显示或保存遗忘门值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39168025/

相关文章:

java - 性能 Encog 与 Deeplearning4J

python - CNN(卷积神经网络)需要设计卷积核吗?

python - Tensorflow - 如何阅读预测

python - 这两个python函数有什么区别?

python - 是否有比 np.where 更快的替代方案来确定索引?

python - WordNet:迭代同义词集

java - Encog 神经网络 - 如何构建训练数据?

python - LSTM 单元电路中的 num_unit 实际上是什么?

python - Keras 的 MSE 损失函数显示与 Tensorflow 的 MSE 指标不同的输出?

python - 如何对 google 进行 OAuth2 风格身份验证,无需用户交互(以替换废弃的 gdata.docs.client.DocsClient API)