分离LSTM重量

时间:2017-04-04 00:32:25

标签: tensorflow

在会话中运行以下代码行

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。如果我是正确的,请告诉我,如果没有,请描述正确的配置。

0 个答案:

没有答案