Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Tensorflow中,权重按什么顺序保存在LSTM内核中_Python_Tensorflow_Lstm_Recurrent Neural Network - Fatal编程技术网

Python 在Tensorflow中,权重按什么顺序保存在LSTM内核中

Python 在Tensorflow中,权重按什么顺序保存在LSTM内核中,python,tensorflow,lstm,recurrent-neural-network,Python,Tensorflow,Lstm,Recurrent Neural Network,我查看了Tensorflow中的LSTMCell保存的权重。 它有一个大的内核和偏差权重 内核的维度是 (input_size + hidden_size)*(hidden_size*4) 据我所知,这是封装4个输入到隐藏层仿射变换以及4个隐藏到隐藏层变换 所以应该有4个大小的矩阵 input_size*hidden_size 和4号 hidden_size*hidden_size 有人能告诉我或告诉我TF保存这些文件的代码,这样我就可以将内核矩阵分解成更小的矩阵。在tensorflow

我查看了Tensorflow中的
LSTMCell
保存的权重。 它有一个大的内核和偏差权重

内核的维度是

(input_size + hidden_size)*(hidden_size*4)
据我所知,这是封装4个输入到隐藏层仿射变换以及4个隐藏到隐藏层变换

所以应该有4个大小的矩阵

input_size*hidden_size
和4号

hidden_size*hidden_size

有人能告诉我或告诉我TF保存这些文件的代码,这样我就可以将内核矩阵分解成更小的矩阵。

在tensorflow 1.5中,LSTM变量在
LSTMCell.build
方法中定义。源代码可以在以下位置找到:

self.\u内核=self.add\u变量(
_权重\变量\名称,
形状=[input_depth+h_depth,4*self.\u num\u units],
初始值设定项=self.\u初始值设定项,
分区器=可能的分区器)
self.\u bias=self.add\u变量(
_偏差变量名称,
形状=[4*自身数量单位],
初始值设定项=init_ops.zeros_初始值设定项(dtype=self.dtype))
正如您所看到的,只有一个
[输入深度+h深度,4*self.\u num\u单位]
变量,而不是8个不同的矩阵,并且所有这些矩阵在一批中同时相乘

闸门的定义如下:

i、j、f、o=数组操作拆分(值=门输入,数量或大小拆分=4,轴=1)

在tensorflow 1.5中,LSTM变量在
LSTMCell.build
方法中定义。源代码可以在以下位置找到:

self.\u内核=self.add\u变量(
_权重\变量\名称,
形状=[input_depth+h_depth,4*self.\u num\u units],
初始值设定项=self.\u初始值设定项,
分区器=可能的分区器)
self.\u bias=self.add\u变量(
_偏差变量名称,
形状=[4*自身数量单位],
初始值设定项=init_ops.zeros_初始值设定项(dtype=self.dtype))
正如您所看到的,只有一个
[输入深度+h深度,4*self.\u num\u单位]
变量,而不是8个不同的矩阵,并且所有这些矩阵在一批中同时相乘

闸门的定义如下:

i、j、f、o=数组操作拆分(值=门输入,数量或大小拆分=4,轴=1)

权重的组合如另一个答案中所述,但顺序为: 其中,
c
是上下文,
h
是历史

input_c,      input_h
new_input_c,  new_input_h
forget_c,     forget_h
output_c,     output_h
有关守则如下:


权重的组合如另一个答案中所述,但顺序为: 其中,
c
是上下文,
h
是历史

input_c,      input_h
new_input_c,  new_input_h
forget_c,     forget_h
output_c,     output_h
有关守则如下:


谢谢,这太完美了。我在这里也找到了同样的订单:谢谢,这太完美了。我在这里也发现了同样的顺序: