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.
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.
[null,null,["Last updated 2020-10-01 UTC."],[],[],null,["# tf.contrib.rnn.GridLSTMCell\n\n\u003cbr /\u003e\n\n|----------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/contrib/rnn/python/ops/rnn_cell.py#L499-L963) |\n\nGrid Long short-term memory unit (LSTM) recurrent network cell.\n\nInherits From: [`RNNCell`](../../../tf/nn/rnn_cell/RNNCell) \n\n tf.contrib.rnn.GridLSTMCell(\n num_units, use_peepholes=False, share_time_frequency_weights=False,\n cell_clip=None, initializer=None, num_unit_shards=1, forget_bias=1.0,\n feature_size=None, frequency_skip=None, num_frequency_blocks=None,\n start_freqindex_list=None, end_freqindex_list=None,\n couple_input_forget_gates=False, state_is_tuple=True, reuse=None\n )\n\nThe default is based on:\nNal Kalchbrenner, Ivo Danihelka and Alex Graves\n\"Grid Long Short-Term Memory,\" Proc. ICLR 2016.\n\u003chttp://arxiv.org/abs/1507.01526\u003e\n\nWhen peephole connections are used, the implementation is based on:\nTara N. Sainath and Bo Li\n\"Modeling Time-Frequency Patterns with LSTM vs. Convolutional Architectures\nfor LVCSR Tasks.\" submitted to INTERSPEECH, 2016.\n\nThe code uses optional peephole connections, shared_weights and cell clipping.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|--------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `num_units` | int, The number of units in the LSTM cell |\n| `use_peepholes` | (optional) bool, default False. Set True to enable diagonal/peephole connections. |\n| `share_time_frequency_weights` | (optional) bool, default False. Set True to enable shared cell weights between time and frequency LSTMs. |\n| `cell_clip` | (optional) A float value, default None, if provided the cell state is clipped by this value prior to the cell output activation. |\n| `initializer` | (optional) The initializer to use for the weight and projection matrices, default None. |\n| `num_unit_shards` | (optional) int, default 1, How to split the weight matrix. If \\\u003e 1, the weight matrix is stored across num_unit_shards. |\n| `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. |\n| `feature_size` | (optional) int, default None, The size of the input feature the LSTM spans over. |\n| `frequency_skip` | (optional) int, default None, The amount the LSTM filter is shifted by in frequency. |\n| `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. |\n| `start_freqindex_list` | \\[optional\\], list of ints, default None, The starting frequency index for each frequency block. |\n| `end_freqindex_list` | \\[optional\\], list of ints, default None. The ending frequency index for each frequency block. |\n| `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. |\n| `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. |\n| `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. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|--------------|---------------------------------------------------|\n| `ValueError` | if the num_frequency_blocks list is not specified |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Attributes ---------- ||\n|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `graph` | DEPRECATED FUNCTION \u003cbr /\u003e | **Warning:** THIS FUNCTION IS DEPRECATED. It will be removed in a future version. Instructions for updating: Stop using this property because tf.layers layers no longer track their graph. |\n| `output_size` | Integer or TensorShape: size of outputs produced by this cell. |\n| `scope_name` | \u003cbr /\u003e |\n| `state_size` | size(s) of state(s) used by this cell. \u003cbr /\u003e It can be represented by an Integer, a TensorShape or a tuple of Integers or TensorShapes. |\n| `state_tuple_type` | \u003cbr /\u003e \u003cbr /\u003e |\n\n\u003cbr /\u003e\n\nMethods\n-------\n\n### `get_initial_state`\n\n[View source](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/python/ops/rnn_cell_impl.py#L281-L309) \n\n get_initial_state(\n inputs=None, batch_size=None, dtype=None\n )\n\n### `zero_state`\n\n[View source](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/python/ops/rnn_cell_impl.py#L311-L340) \n\n zero_state(\n batch_size, dtype\n )\n\nReturn zero-filled state tensor(s).\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ||\n|--------------|---------------------------------------------------------|\n| `batch_size` | int, float, or unit Tensor representing the batch size. |\n| `dtype` | the data type to use for the state. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ||\n|---|---|\n| 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. \u003cbr /\u003e 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`. ||\n\n\u003cbr /\u003e"]]