lstm

    API属性:声明式编程(静态图)专用API

    ( input, init_h, init_c, max_len, hidden_size, num_layers, dropout_prob=0.0, is_bidirec=False, is_test=False, name=None, default_initializer=None, seed=-1 ) [源代码]

    注解

    该OP仅支持 GPU 设备运行

    该OP实现了 LSTM,即 Long-Short Term Memory(长短期记忆)运算 - 。

    该OP的实现不包括 diagonal/peephole 连接,参见 Gers, F. A., & Schmidhuber, J. (2000)。 如果需要使用 peephole 连接方法,请使用 。

    该OP对于序列中每一个时间步的计算公式如下:

    lstm - 图2

    lstm - 图4

    lstm - 图6

    公式中的概念信息如下:

    • 表示时间步

      lstm - 图8

      的输入

    • 表示时间步

      lstm - 图10

      的 hidden 状态

    • 分别表示前一个时间步的 hidden 和 cell 状态

    • 表示候选的 cell 状态

    • lstm - 图16

      表示 weight (例如,

      是在计算 input gate

      lstm - 图18

      时,对输入

      做线性变换的 weight)

    • lstm - 图20

      表示 bias (例如,

      是 input gate 的 bias)

    • lstm - 图22

      表示 gate 的非线性激活函数,默认为 sigmoid

    • 表示矩阵的 Hadamard product,即对两个维度相同的矩阵,将相同位置的元素相乘,得到另一个维度相同的矩阵

    • rnn_out:LSTM hidden的输出结果的Tensor,数据类型与input一致,维度为

      lstm - 图29

      。如果 设置为True,则维度为

    • last_c:LSTM最后一步的cell状态的Tensor,数据类型与input一致,维度为

      lstm - 图33

      。如果 设置为True,则维度为