当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.raw_ops.LSTMBlockCell用法及代码示例


计算 1 个时间步长的 LSTM 单元前向传播。

用法

tf.raw_ops.LSTMBlockCell(
    x, cs_prev, h_prev, w, wci, wcf, wco, b, forget_bias=1, cell_clip=3,
    use_peephole=False, name=None
)

参数

  • x 一个Tensor。必须是以下类型之一:half , float32。 LSTM 单元的输入,形状(batch_size,num_inputs)。
  • cs_prev 一个Tensor。必须与 x 具有相同的类型。上一个时间步的细胞状态值。
  • h_prev 一个Tensor。必须与 x 具有相同的类型。上一个时间步的上一个单元格的输出。
  • w 一个Tensor。必须与 x 具有相同的类型。权重矩阵。
  • wci 一个Tensor。必须与 x 具有相同的类型。输入门窥孔连接的权重矩阵。
  • wcf 一个Tensor。必须与 x 具有相同的类型。遗忘门窥视孔连接的权重矩阵。
  • wco 一个Tensor。必须与 x 具有相同的类型。输出门窥视孔连接的权重矩阵。
  • b 一个Tensor。必须与 x 具有相同的类型。偏置向量。
  • forget_bias 可选的 float 。默认为 1 。遗忘门偏差。
  • cell_clip 可选的 float 。默认为 3 。将 'cs' 值剪切到的值。
  • use_peephole 可选的 bool 。默认为 False 。是否使用窥视孔砝码。
  • name 操作的名称(可选)。

返回

  • Tensor 对象的元组(i、cs、f、o、ci、co、h)。
  • i 一个Tensor。具有与 x 相同的类型。
  • cs 一个Tensor。具有与 x 相同的类型。
  • f 一个Tensor。具有与 x 相同的类型。
  • o 一个Tensor。具有与 x 相同的类型。
  • ci 一个Tensor。具有与 x 相同的类型。
  • co 一个Tensor。具有与 x 相同的类型。
  • h 一个Tensor。具有与 x 相同的类型。

此实现使用 1 个权重矩阵和 1 个偏置向量,并且有一个可选的窥视孔连接。

这个内核操作实现了以下数学方程:

xh = [x, h_prev]
[i, f, ci, o] = xh * w + b
f = f + forget_bias

if not use_peephole:
  wci = wcf = wco = 0

i = sigmoid(cs_prev * wci + i)
f = sigmoid(cs_prev * wcf + f)
ci = tanh(ci)

cs = ci .* i + cs_prev .* f
cs = clip(cs, cell_clip)

o = sigmoid(cs * wco + o)
co = tanh(cs)
h = co .* o

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.raw_ops.LSTMBlockCell。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。