tf.raw_ops.LSTMBlockCell

robots: noindex

Computes the LSTM cell forward propagation for 1 time step.

This implementation uses 1 weight matrix and 1 bias vector, and there's an optional peephole connection.

This kernel op implements the following mathematical equations:

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

x A Tensor. Must be one of the following types: half, float32. The input to the LSTM cell, shape (batch_size, num_inputs).
cs_prev A Tensor. Must have the same type as x. Value of the cell state at previous time step.
h_prev A Tensor. Must have the same type as x. Output of the previous cell at previous time step.
w A Tensor. Must have the same type as x. The weight matrix.
wci A Tensor. Must have the same type as x. The weight matrix for input gate peephole connection.
wcf A Tensor. Must have the same type as x. The weight matrix for forget gate peephole connection.
wco A Tensor. Must have the same type as x. The weight matrix for output gate peephole connection.
b A Tensor. Must have the same type as x. The bias vector.
forget_bias An optional float. Defaults to 1. The forget gate bias.
cell_clip An optional float. Defaults to 3. Value to clip the 'cs' value to.
use_peephole An optional bool. Defaults to False. Whether to use peephole weights.
name A name for the operation (optional).

A tuple of Tensor objects (i, cs, f, o, ci, co, h).
i A Tensor. Has the same type as x.
cs A Tensor. Has the same type as x.
f A Tensor. Has the same type as x.
o A Tensor. Has the same type as x.
ci A Tensor. Has the same type as x.
co A Tensor. Has the same type as x.
h A Tensor. Has the same type as x.