LSTMCell

    长短期记忆单元(Long-Short Term Memory)。通过对 fluid.contrib.layers.rnn_impl.BasicLSTMUnit 包装,来让它可以应用于RNNCell。

    公式如下:

    更多细节可以参考

    参数:

    • hidden_size (int) - LSTMCell中的隐藏层大小。

    • param_attr (ParamAttr,可选) - 指定权重参数属性的对象。默认值为None,表示使用默认的权重参数属性。具体用法请参见 ParamAttr

    • gate_activation (function,可选) -

      LSTMCell - 图1

      的激活函数。 默认值为 fluid.layers.sigmoid

    • activation (function,可选) -

      的激活函数。 默认值为 fluid.layers.tanh

    • dtype (string,可选) - 此Cell中使用的数据类型。 默认值为 float32。

    • name (string,可选) - 用于标识参数和偏差的名称域。

    返回:LSTMCell类的实例对象。

    示例代码

    ( inputs, states )

    执行GRU的计算。

    参数:

    • states (Variable) - 状态,包含两个tensor的列表,每个tensor形状为

      。 对应于公式中的

      LSTMCell - 图2

      。数据类型应为float32。

    返回:一个元组 (outputs, new_states),其中 outputs 是形状为 [batch_size,hidden_size][batch_size,hidden_size] 的tensor,对应于公式中的 htht;new_states 是一个列表,包含形状为 [batchsize,hiddensize][batchsize,hiddensize] 的两个tensor变量,它们对应于公式中的 ht,ctht,ct。这些tensor的数据类型都与 的数据类型相同。

    返回类型:tuple

    state_shape ( )

    LSTMCell的 state_shape 是一个具有两个形状的列表:[[hidden_size],[hidden_size]][[hidden_size],[hidden_size]] (batch大小为-1,自动插入到形状中)。 这两个形状分别对应于公式中的 ht−1ht−1 and ct−1ct−1。

    参数:无。

    返回:LSTMCell的 state_shape