LSTMCell
注意:该API仅支持【静态图】模式
- class
paddle.fluid.layers.
LSTMCell
(hidden_size, param_attr=None, bias_attr=None, gate_activation=None, activation=None, forget_bias=1.0, dtype="float32", name="LSTMCell")[源代码]
长短期记忆单元(Long-Short Term Memory)。通过对 fluid.contrib.layers.rnn_impl.BasicLSTMUnit
包装,来让它可以应用于RNNCell。
公式如下:
更多细节可以参考 RECURRENT NEURAL NETWORK REGULARIZATION
- 参数:
- hidden_size (int) - LSTMCell中的隐藏层大小。
- param_attr (ParamAttr,可选) - 指定权重参数属性的对象。默认值为None,表示使用默认的权重参数属性。具体用法请参见 ParamAttr。
- bias_attr (ParamAttr,可选) - 指定偏置参数属性的对象。默认值为None,表示使用默认的偏置参数属性。具体用法请参见 ParamAttr 。
- gate_activation (function,可选) -
的激活函数。 默认值为
fluid.layers.sigmoid
。 - activation (function,可选) -
的激活函数。 默认值为
fluid.layers.tanh
。 - forget_bias (float,可选) - 计算遗忘们时使用的遗忘偏置。默认值为 1.0。
- dtype (string,可选) - 此Cell中使用的数据类型。 默认值为 float32。
- name (string,可选) - 用于标识参数和偏差的名称域。
返回:LSTMCell类的实例对象。
示例代码
- import paddle.fluid.layers as layers
- cell = layers.rnn.LSTMCell(hidden_size=256)
call
(inputs, states)
执行GRU的计算。
- 参数:
- input (Variable) - 输入,形状为 的tensor,对应于公式中的 。数据类型应为float32。
- states (Variable) - 状态,包含两个tensor的列表,每个tensor形状为 。 对应于公式中的 。数据类型应为float32。
返回:一个元组 (outputs, new_states)
,其中 outputs
是形状为
的tensor,对应于公式中的
;new_states
是一个列表,包含形状为
的两个tensor变量,它们对应于公式中的
。这些tensor的数据类型都与 state
的数据类型相同。
返回类型:tuple
state_shape
()
LSTMCell的 state_shape
是一个具有两个形状的列表:
(batch大小为-1,自动插入到形状中)。 这两个形状分别对应于公式中的 and 。
参数:无。
返回:LSTMCell的 state_shape
返回类型:list