A RNN cell instance or a list of RNN cell instances.
A RNN cell is a class that has:
A call(input_at_t, states_at_t) method, returning
(output_at_t, states_at_t_plus_1). The call method of the
cell can also take the optional argument constants, see
section "Note on passing external constants" below.
A state_size attribute. This can be a single integer
(single state) in which case it is the size of the recurrent
state. This can also be a list/tuple of integers (one size per state).
The state_size can also be TensorShape or tuple/list of
TensorShape, to represent high dimension state.
A output_size attribute. This can be a single integer or a
TensorShape, which represent the shape of the output. For backward
compatible reason, if this attribute is not available for the
cell, the value will be inferred by the first element of the
A get_initial_state(inputs=None, batch_size=None, dtype=None)
method that creates a tensor meant to be fed to call() as the
initial state, if the user didn't specify any initial state via other
means. The returned initial state should have a shape of
[batch_size, cell.state_size]. The cell might choose to create a
tensor full of zeros, or full of other values based on the cell's
inputs is the input tensor to the RNN layer, which should
contain the batch size as its shape, and also dtype. Note that
the shape might be None during the graph construction. Either
the inputs or the pair of batch_size and dtype are provided.
batch_size is a scalar tensor that represents the batch size
of the inputs.