View source on GitHub |
Grid Long short-term memory unit (LSTM) recurrent network cell.
Inherits From: RNNCell
tf.contrib.rnn.GridLSTMCell(
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
)
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.
Args | |
---|---|
num_units
|
int, The number of units in the LSTM cell |
use_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
the c_state and m_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 not True , and the existing scope already has
the given variables, an error is raised.
|
Raises | |
---|---|
ValueError
|
if the num_frequency_blocks list is not specified |
Attributes | |
---|---|
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
get_initial_state
get_initial_state(
inputs=None, batch_size=None, dtype=None
)
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 |