tf.raw_ops.LSTMBlockCell

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.