在会话中运行以下代码行
variables =[v for v in tf.trainable_variables()]
values = session.run(variables)
我能够在我的图中定义的深RNN中获得所有可训练的权重和偏差。然而,LSTM权重聚集在一起,意味着x t 和h t-1 的遗忘,输入,单元和输出门权重作为一个大矩阵返回。我想知道矩阵的哪一部分指的是哪个权重矩阵。
例如,如果我将RNN图层的输入定义为240并且图层中有512个单元格,则返回的权重大小为752x2048
。通过查看GitHub上的代码,我相信它们可以分开为
w ^ <子> XI 子> w ^ <子> XJ 子> w ^ <子> XF 子> w ^ <子> XO 子>
w ^ <子>喜子> w ^ <子> HJ 子> w ^ <子> HF 子> w ^ <子>豪子>
其中与前一层(W x )的输入相对应的所有权重都放在顶部,一个放在另一个旁边,并从同一层和前一个时间步骤输入(W h < / sub>)放在下面,一个放在另一个旁边。因此,权重W x 占据位置W[0:239, 0:2047]
并且W h 占据位置W[240:751, 0:2047]
。此外,所有W x _ 的大小均为240x512
,W h _ 的大小为512x512
。如果我是正确的,请告诉我,如果没有,请描述正确的配置。