tf.compat.v1.nn.rnn_cell.LSTMCell
Блок ячеек с длинной краткосрочной памятью (LSTM).
Наследуется от: 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
)
По умолчанию реализация без обратных связей основана на (Gers et al., 1999). Реализация с обратными связями основана на (Sak et al., 2014).
Класс использует необязательные обратные связи, необязательное ограничение ячейки и необязательный проекционный слой.
Обратите внимание, что эта ячейка не оптимизирована для производительности. Пожалуйста, используйте tf.contrib.cudnn_rnn.CudnnLSTM для лучшей производительности на GPU или tf.contrib.rnn.LSTMBlockCell и tf.contrib.rnn.LSTMBlockFusedCell для лучшей производительности на CPU. Ссылки: Архитектуры рекуррентных нейронных сетей с длинной краткосрочной памятью для крупномасштабной акустической моделирования: Sak et al., 2014 (pdf) Learning to forget: Gers et al., 1999 (pdf) Длинная краткосрочная память: Hochreiter et al., 1997 (pdf)
| Args | |
|---|---|
num_units | int, Количество единиц в ячейке LSTM. |
use_peepholes | bool, установить True для включения диагональных/обратных связей. |
cell_clip | (необязательно) Числовое значение с плавающей точкой, если указано, состояние ячейки ограничивается этим значением перед активацией выхода ячейки. |
initializer | (необязательно) Инициализатор для использования для матриц весов и проекции. |
num_proj | (необязательно) int, размерность вывода для матриц проекции. Если None, проекция не выполняется. |
proj_clip | (необязательно) Числовое значение с плавающей точкой. Если num_proj > 0 и proj_clip указаны, то спроецированные значения ограничиваются элементно по модулю [-proj_clip, proj_clip]. |
num_unit_shards | Устарело, будет удалено в январе 2017 г. Используйте вместо этого партишнер области переменных. |
num_proj_shards | Устарело, будет удалено в январе 2017 г. Используйте вместо этого партишнер области переменных. |
forget_bias | Смещения ворот забывания по умолчанию инициализируются значением 1, чтобы уменьшить масштаб забывания в начале обучения. Необходимо установить его вручную в 0.0 при восстановлении из контрольных точек обученных CudnnLSTM. |
state_is_tuple | Если True, принятые и возвращаемые состояния являются 2-кортежами c_state и m_state. Если False, они конкатенируются по оси столбцов. Это последнее поведение вскоре будет устаревшим. |
activation | Функция активации внутренних состояний. По умолчанию: tanh. Также может быть строкой, находящейся в именах функций активации Keras. |
reuse | (необязательно) Логическое значение Python, описывающее, нужно ли повторно использовать переменные в существующей области. Если не True, и существующая область уже содержит заданные переменные, возникает ошибка. |
name | Строка, имя слоя. Слои с одинаковым именем будут совместно использовать веса, но для предотвращения ошибок в таких случаях требуется reuse=True. |
dtype | Тип по умолчанию для слоя (по умолчанию None означает использовать тип первого входа). Требуется при вызове build до call. |
**kwargs | Словарь, именованные ключевые свойства для общих атрибутов слоя, таких как trainable и т.д. при построении ячейки из конфигураций get_config(). При восстановлении из контрольных точек, обученных CudnnLSTM, используйте CudnnCompatibleLSTMCell вместо этого. |
| Атрибуты | |
|---|---|
graph | |
output_size | Целое число или TensorShape: размер выходных данных, производимых этой ячейкой. |
scope_name | |
state_size | Размер(ы) состояния(ий), используемых этой ячейкой. Его можно представить целым числом, TensorShape или кортежем целых чисел или TensorShapes. |
Методы
apply
apply(
*args, **kwargs
)
get_initial_state
get_initial_state(
inputs=None, batch_size=None, dtype=None
)
get_losses_for
get_losses_for(
inputs
)
Извлекает потери, относящиеся к определенному набору входных данных.
| Аргументы | |
|---|---|
inputs | Входной тензор или список/кортеж входных тензоров. |
| Возвращаемое значение | |
|---|---|
Список тензоров потерь слоя, которые зависят от inputs. |
get_updates_for
get_updates_for(
inputs
)
Извлекает обновления, относящиеся к определенному набору входных данных.
| Аргументы | |
|---|---|
inputs | Входной тензор или список/кортеж входных тензоров. |
| Возвращаемое значение | |
|---|---|
Список операций обновления слоя, которые зависят от inputs. |
zero_state
zero_state(
batch_size, dtype
)
Возвращает тензор(ы) состояния, заполненные нулями.
| Аргументы | |
|---|---|
batch_size | Целое число, число с плавающей точкой или тензор, представляющий размер пакета. |
dtype | Тип данных для использования в состоянии. |
| Возвращаемое значение | |
|---|---|
Если state_size является целым числом или формой тензора, то возвращаемое значение является тензором N-D, заполненным нулями, формы [batch_size, state_size]. Если |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/compat/v1/nn/rnn_cell/LSTMCell