Tune in to the first Women in ML Symposium this Tuesday, October 19 at 9am PST Register now

LSTMBlockCell

public final class 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
 

Nested Classes

class LSTMBlockCell.Options Optional attributes for LSTMBlockCell  

Public Methods

static LSTMBlockCell.Options
cellClip(Float cellClip)
Output<T>
ci()
The cell input.
Output<T>
co()
The cell after the tanh.
static <T extends Number> LSTMBlockCell<T>
create(Scope scope, Operand<T> x, Operand<T> csPrev, Operand<T> hPrev, Operand<T> w, Operand<T> wci, Operand<T> wcf, Operand<T> wco, Operand<T> b, Options... options)
Factory method to create a class wrapping a new LSTMBlockCell operation.
Output<T>
cs()
The cell state before the tanh.
Output<T>
f()
The forget gate.
static LSTMBlockCell.Options
forgetBias(Float forgetBias)
Output<T>
h()
The output h vector.
Output<T>
i()
The input gate.
Output<T>
o()
The output gate.
static LSTMBlockCell.Options
usePeephole(Boolean usePeephole)

Inherited Methods

Public Methods

public static LSTMBlockCell.Options cellClip (Float cellClip)

Parameters
cellClip Value to clip the 'cs' value to.

public Output<T> ci ()

The cell input.

public Output<T> co ()

The cell after the tanh.

public static LSTMBlockCell<T> create (Scope scope, Operand<T> x, Operand<T> csPrev, Operand<T> hPrev, Operand<T> w, Operand<T> wci, Operand<T> wcf, Operand<T> wco, Operand<T> b, Options... options)

Factory method to create a class wrapping a new LSTMBlockCell operation.

Parameters
scope current scope
x The input to the LSTM cell, shape (batch_size, num_inputs).
csPrev Value of the cell state at previous time step.
hPrev Output of the previous cell at previous time step.
w The weight matrix.
wci The weight matrix for input gate peephole connection.
wcf The weight matrix for forget gate peephole connection.
wco The weight matrix for output gate peephole connection.
b The bias vector.
options carries optional attributes values
Returns
  • a new instance of LSTMBlockCell

public Output<T> cs ()

The cell state before the tanh.

public Output<T> f ()

The forget gate.

public static LSTMBlockCell.Options forgetBias (Float forgetBias)

Parameters
forgetBias The forget gate bias.

public Output<T> h ()

The output h vector.

public Output<T> i ()

The input gate.

public Output<T> o ()

The output gate.

public static LSTMBlockCell.Options usePeephole (Boolean usePeephole)

Parameters
usePeephole Whether to use peephole weights.