Spec-Zone.ru › TensorFlow

tf.keras.layers.LSTMCell

Класс ячейки для слоя LSTM.

Наследуется от: Layer, Operation

tf.keras.layers.LSTMCell(
    units,
    activation='tanh',
    recurrent_activation='sigmoid',
    use_bias=True,
    kernel_initializer='glorot_uniform',
    recurrent_initializer='orthogonal',
    bias_initializer='zeros',
    unit_forget_bias=True,
    kernel_regularizer=None,
    recurrent_regularizer=None,
    bias_regularizer=None,
    kernel_constraint=None,
    recurrent_constraint=None,
    bias_constraint=None,
    dropout=0.0,
    recurrent_dropout=0.0,
    seed=None,
    **kwargs
)

Используется в ноутбуках

Используется в руководстве Используется в обучающих материалах
  • Эффективный Tensorflow 2
  • Прогнозирование временных рядов

Этот класс обрабатывает один шаг входных данных во всей временной последовательности, в то время как keras.layer.LSTM обрабатывает всю последовательность.

Аргументы
units Положительное целое число, размерность выходного пространства.
activation Функция активации для использования. По умолчанию: гиперболический тангенс (tanh). Если передано значение None, активация не применяется (т.е. линейная активация: a(x) = x).
recurrent_activation Функция активации для использования на рекуррентном шаге. По умолчанию: сигмоида (sigmoid). Если передано None, активация не применяется (т.е. линейная активация: a(x) = x).
use_bias Булево значение (по умолчанию True), указывает, должен ли слой использовать вектор смещения.
kernel_initializer Инициализатор матрицы весов kernel, используемой для линейного преобразования входных данных. По умолчанию: "glorot_uniform".
recurrent_initializer Инициализатор матрицы весов recurrent_kernel, используемой для линейного преобразования рекуррентного состояния. По умолчанию: "orthogonal".
bias_initializer Инициализатор вектора смещения. По умолчанию: "zeros".
unit_forget_bias Булево значение (по умолчанию True). Если True, добавляет 1 к смещению шлюза забывания при инициализации. Установка значения в True также принудительно устанавливает bias_initializer="zeros". Это рекомендуется в Jozefowicz et al.
kernel_regularizer Функция регуляризации, применяемая к матрице весов kernel. По умолчанию: None.
recurrent_regularizer Функция регуляризации, применяемая к матрице весов recurrent_kernel. По умолчанию: None.
bias_regularizer Функция регуляризации, применяемая к вектору смещения. По умолчанию: None.
kernel_constraint Функция ограничения, применяемая к матрице весов kernel. По умолчанию: None.
recurrent_constraint Функция ограничения, применяемая к матрице весов recurrent_kernel. По умолчанию: None.
bias_constraint Функция ограничения, применяемая к вектору смещения. По умолчанию: None.
dropout Вещественное число от 0 до 1. Доля единиц, которые необходимо отбросить для линейного преобразования входных данных. По умолчанию: 0.
recurrent_dropout Вещественное число от 0 до 1. Доля единиц, которые необходимо отбросить для линейного преобразования рекуррентного состояния. По умолчанию: 0.
seed Случайное семя для дропаута.
Аргументы вызова
inputs 2-мерный тензор, с формой (batch, features).
states 2-мерный тензор с формой (batch, units), который является состоянием с предыдущего шага во времени.
training Булево значение Python, указывающее, должен ли слой работать в режиме обучения или в режиме вывода. Актуально только при использовании dropout или recurrent_dropout.

Пример:

inputs = np.random.random((32, 10, 8))
rnn = keras.layers.RNN(keras.layers.LSTMCell(4))
output = rnn(inputs)
output.shape
(32, 4)
rnn = keras.layers.RNN(
   keras.layers.LSTMCell(4),
   return_sequences=True,
   return_state=True)
whole_sequence_output, final_state = rnn(inputs)
whole_sequence_output.shape
(32, 10, 4)
final_state.shape
(32, 4)
Атрибуты
input Получает тензор(ы) входных данных для символической операции.

Возвращает только тензор(ы), соответствующие первому вызову операции.

output Получает тензор(ы) выходных данных слоя.

Возвращает только тензор(ы), соответствующие первому вызову операции.

Методы

from_config

Посмотреть исходный код

@classmethod
from_config(
    config
)

Создает слой из его конфигурации.

Этот метод является обратным для get_config, способным создать тот же слой из словаря конфигурации. Он не обрабатывает соединение слоев (обрабатывается сетью), а также веса (обрабатываются set_weights).

Аргументы
config Словарь Python, обычно выход get_config.
Возвращает
Экземпляр слоя.

get_dropout_mask

Посмотреть исходный код

get_dropout_mask(
    step_input
)

get_initial_state

Посмотреть исходный код

get_initial_state(
    batch_size=None
)

get_recurrent_dropout_mask

Посмотреть исходный код

get_recurrent_dropout_mask(
    step_input
)

reset_dropout_mask

Посмотреть исходный код

Сбросить кэшированную маску дропаута, если таковая имеется.

Слой RNN вызывает этот метод в методе call(), чтобы очистить кэшированную маску после вызова cell.call(). Маска должна кэшироваться на всех шагах времени в одной партии, но не должна кэшироваться между партиями.

reset_recurrent_dropout_mask

Посмотреть исходный код

reset_recurrent_dropout_mask()

symbolic_call

Посмотреть исходный код

symbolic_call(
    *args, **kwargs
)

© 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/api_docs/python/tf/keras/layers/LSTMCell

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API