tf.compat.v1.nn.rnn_cell.LSTMCell
Stay organized with collections
Save and categorize content based on your preferences.
Long short-term memory unit (LSTM) recurrent network cell.
Inherits From: RNNCell
, Layer
, Layer
, Module
tf.compat.v1.nn.rnn_cell.LSTMCell(
num_units, use_peepholes=False, cell_clip=None, initializer=None, num_proj=None,
proj_clip=None, num_unit_shards=None, num_proj_shards=None, forget_bias=1.0,
state_is_tuple=True, activation=None, reuse=None, name=None, dtype=None,
**kwargs
)
The default non-peephole implementation is based on (Gers et al., 1999).
The peephole implementation is based on (Sak et al., 2014).
The class uses optional peep-hole connections, optional cell clipping, and
an optional projection layer.
Note that this cell is not optimized for performance. Please use
tf.contrib.cudnn_rnn.CudnnLSTM
for better performance on GPU, or
tf.contrib.rnn.LSTMBlockCell
and tf.contrib.rnn.LSTMBlockFusedCell
for
better performance on CPU.
References:
Long short-term memory recurrent neural network architectures for large
scale acoustic modeling:
Sak et al., 2014
(pdf)
Learning to forget:
Gers et al., 1999
(pdf)
Long Short-Term Memory:
Hochreiter et al., 1997
(pdf)
Args |
num_units
|
int, The number of units in the LSTM cell.
|
use_peepholes
|
bool, set True to enable diagonal/peephole connections.
|
cell_clip
|
(optional) A float value, 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.
|
num_proj
|
(optional) int, The output dimensionality for the projection
matrices. If None, no projection is performed.
|
proj_clip
|
(optional) A float value. If num_proj > 0 and proj_clip is
provided, then the projected values are clipped elementwise to within
[-proj_clip, proj_clip] .
|
num_unit_shards
|
Deprecated, will be removed by Jan. 2017. Use a
variable_scope partitioner instead.
|
num_proj_shards
|
Deprecated, will be removed by Jan. 2017. Use a
variable_scope partitioner instead.
|
forget_bias
|
Biases of the forget gate are initialized by default to 1 in
order to reduce the scale of forgetting at the beginning of the
training. Must set it manually to 0.0 when restoring from CudnnLSTM
trained checkpoints.
|
state_is_tuple
|
If True, accepted and returned states are 2-tuples of the
c_state and m_state . If False, they are concatenated along the
column axis. This latter behavior will soon be deprecated.
|
activation
|
Activation function of the inner states. Default: tanh . It
could also be string that is within Keras activation function names.
|
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.
|
name
|
String, the name of the layer. Layers with the same name will share
weights, but to avoid mistakes we require reuse=True in such cases.
|
dtype
|
Default dtype of the layer (default of None means use the type of
the first input). Required when build is called before call .
|
**kwargs
|
Dict, keyword named properties for common layer attributes, like
trainable etc when constructing the cell from configs of get_config().
When restoring from CudnnLSTM-trained checkpoints, use
CudnnCompatibleLSTMCell instead.
|
Attributes |
graph
|
|
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.
|
Methods
get_initial_state
View source
get_initial_state(
inputs=None, batch_size=None, dtype=None
)
zero_state
View source
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 .
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2021-05-14 UTC.
[null,null,["Last updated 2021-05-14 UTC."],[],[],null,["# tf.compat.v1.nn.rnn_cell.LSTMCell\n\n\u003cbr /\u003e\n\n|-----------------------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.5.0/tensorflow/python/keras/layers/legacy_rnn/rnn_cell_impl.py#L824-L1106) |\n\nLong short-term memory unit (LSTM) recurrent network cell.\n\nInherits From: [`RNNCell`](../../../../../tf/compat/v1/nn/rnn_cell/RNNCell), [`Layer`](../../../../../tf/compat/v1/layers/Layer), [`Layer`](../../../../../tf/keras/layers/Layer), [`Module`](../../../../../tf/Module) \n\n tf.compat.v1.nn.rnn_cell.LSTMCell(\n num_units, use_peepholes=False, cell_clip=None, initializer=None, num_proj=None,\n proj_clip=None, num_unit_shards=None, num_proj_shards=None, forget_bias=1.0,\n state_is_tuple=True, activation=None, reuse=None, name=None, dtype=None,\n **kwargs\n )\n\nThe default non-peephole implementation is based on (Gers et al., 1999).\nThe peephole implementation is based on (Sak et al., 2014).\n\nThe class uses optional peep-hole connections, optional cell clipping, and\nan optional projection layer.\n\nNote that this cell is not optimized for performance. Please use\n`tf.contrib.cudnn_rnn.CudnnLSTM` for better performance on GPU, or\n`tf.contrib.rnn.LSTMBlockCell` and `tf.contrib.rnn.LSTMBlockFusedCell` for\nbetter performance on CPU.\nReferences:\nLong short-term memory recurrent neural network architectures for large\nscale acoustic modeling:\n[Sak et al., 2014](https://www.isca-speech.org/archive/interspeech_2014/i14_0338.html)\n([pdf](https://www.isca-speech.org/archive/archive_papers/interspeech_2014/i14_0338.pdf))\nLearning to forget:\n[Gers et al., 1999](http://digital-library.theiet.org/content/conferences/10.1049/cp_19991218)\n([pdf](https://arxiv.org/pdf/1409.2329.pdf))\nLong Short-Term Memory:\n[Hochreiter et al., 1997](https://www.mitpressjournals.org/doi/abs/10.1162/neco.1997.9.8.1735)\n([pdf](http://ml.jku.at/publications/older/3504.pdf))\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` | bool, set True to enable diagonal/peephole connections. |\n| `cell_clip` | (optional) A float value, 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. |\n| `num_proj` | (optional) int, The output dimensionality for the projection matrices. If None, no projection is performed. |\n| `proj_clip` | (optional) A float value. If `num_proj \u003e 0` and `proj_clip` is provided, then the projected values are clipped elementwise to within `[-proj_clip, proj_clip]`. |\n| `num_unit_shards` | Deprecated, will be removed by Jan. 2017. Use a variable_scope partitioner instead. |\n| `num_proj_shards` | Deprecated, will be removed by Jan. 2017. Use a variable_scope partitioner instead. |\n| `forget_bias` | Biases of the forget gate are initialized by default to 1 in order to reduce the scale of forgetting at the beginning of the training. Must set it manually to `0.0` when restoring from CudnnLSTM trained checkpoints. |\n| `state_is_tuple` | If True, accepted and returned states are 2-tuples of the `c_state` and `m_state`. If False, they are concatenated along the column axis. This latter behavior will soon be deprecated. |\n| `activation` | Activation function of the inner states. Default: `tanh`. It could also be string that is within Keras activation function names. |\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| `name` | String, the name of the layer. Layers with the same name will share weights, but to avoid mistakes we require reuse=True in such cases. |\n| `dtype` | Default dtype of the layer (default of `None` means use the type of the first input). Required when `build` is called before `call`. |\n| `**kwargs` | Dict, keyword named properties for common layer attributes, like `trainable` etc when constructing the cell from configs of get_config(). When restoring from CudnnLSTM-trained checkpoints, use `CudnnCompatibleLSTMCell` instead. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Attributes ---------- ||\n|---------------|------------------------------------------------------------------------------------------------------------------------------------------|\n| `graph` | \u003cbr /\u003e \u003cbr /\u003e |\n| `output_size` | Integer or TensorShape: size of outputs produced by this cell. |\n| `scope_name` | \u003cbr /\u003e \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\n\u003cbr /\u003e\n\nMethods\n-------\n\n### `get_initial_state`\n\n[View source](https://github.com/tensorflow/tensorflow/blob/v2.5.0/tensorflow/python/keras/layers/legacy_rnn/rnn_cell_impl.py#L284-L312) \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/v2.5.0/tensorflow/python/keras/layers/legacy_rnn/rnn_cell_impl.py#L314-L343) \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"]]