![]() |
Class GridLSTMCell
Grid Long short-term memory unit (LSTM) recurrent network cell.
Inherits From: RNNCell
The default is based on: Nal Kalchbrenner, Ivo Danihelka and Alex Graves "Grid Long Short-Term Memory," Proc. ICLR 2016. http://arxiv.org/abs/1507.01526
When peephole connections are used, the implementation is based on: Tara N. Sainath and Bo Li "Modeling Time-Frequency Patterns with LSTM vs. Convolutional Architectures for LVCSR Tasks." submitted to INTERSPEECH, 2016.
The code uses optional peephole connections, shared_weights and cell clipping.
__init__
__init__(
num_units,
use_peepholes=False,
share_time_frequency_weights=False,
cell_clip=None,
initializer=None,
num_unit_shards=1,
forget_bias=1.0,
feature_size=None,
frequency_skip=None,
num_frequency_blocks=None,
start_freqindex_list=None,
end_freqindex_list=None,
couple_input_forget_gates=False,
state_is_tuple=True,
reuse=None
)
Initialize the parameters for an LSTM cell.
Args:
num_units
: int, The number of units in the LSTM celluse_peepholes
: (optional) bool, default False. Set True to enable diagonal/peephole connections.share_time_frequency_weights
: (optional) bool, default False. Set True to enable shared cell weights between time and frequency LSTMs.cell_clip
: (optional) A float value, default None, if provided the cell state is clipped by this value prior to the cell output activation.initializer
: (optional) The initializer to use for the weight and projection matrices, default None.num_unit_shards
: (optional) int, default 1, How to split the weight matrix. If > 1, the weight matrix is stored across num_unit_shards.forget_bias
: (optional) float, default 1.0, The initial bias of the forget gates, used to reduce the scale of forgetting at the beginning of the training.feature_size
: (optional) int, default None, The size of the input feature the LSTM spans over.frequency_skip
: (optional) int, default None, The amount the LSTM filter is shifted by in frequency.num_frequency_blocks
: [required] A list of frequency blocks needed to cover the whole input feature splitting defined by start_freqindex_list and end_freqindex_list.start_freqindex_list
: [optional], list of ints, default None, The starting frequency index for each frequency block.end_freqindex_list
: [optional], list of ints, default None. The ending frequency index for each frequency block.couple_input_forget_gates
: (optional) bool, default False, Whether to couple the input and forget gates, i.e. f_gate = 1.0 - i_gate, to reduce model parameters and computation cost.state_is_tuple
: If True, accepted and returned states are 2-tuples of thec_state
andm_state
. By default (False), they are concatenated along the column axis. This default behavior will soon be deprecated.reuse
: (optional) Python boolean describing whether to reuse variables in an existing scope. If notTrue
, and the existing scope already has the given variables, an error is raised.
Raises:
ValueError
: if the num_frequency_blocks list is not specified
Properties
graph
DEPRECATED FUNCTION
output_size
Integer or TensorShape: size of outputs produced by this cell.
scope_name
state_size
size(s) of state(s) used by this cell.
It can be represented by an Integer, a TensorShape or a tuple of Integers or TensorShapes.
state_tuple_type
Methods
tf.contrib.rnn.GridLSTMCell.get_initial_state
get_initial_state(
inputs=None,
batch_size=None,
dtype=None
)
tf.contrib.rnn.GridLSTMCell.zero_state
zero_state(
batch_size,
dtype
)
Return zero-filled state tensor(s).
Args:
batch_size
: int, float, or unit Tensor representing the batch size.dtype
: the data type to use for the state.
Returns:
If state_size
is an int or TensorShape, then the return value is a
N-D
tensor of shape [batch_size, state_size]
filled with zeros.
If state_size
is a nested list or tuple, then the return value is
a nested list or tuple (of the same structure) of 2-D
tensors with
the shapes [batch_size, s]
for each s in state_size
.