Spec-Zone.ru › TensorFlow 2.3

tf.compat.v1.keras.layers.LSTM

Слой долгой краткосрочной памяти — Hochreiter 1997.

Наследуется от: RNN

tf.compat.v1.keras.layers.LSTM(
    units, activation='tanh', recurrent_activation='hard_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, activity_regularizer=None,
    kernel_constraint=None, recurrent_constraint=None, bias_constraint=None,
    dropout=0.0, recurrent_dropout=0.0, implementation=1, return_sequences=False,
    return_state=False, go_backwards=False, stateful=False, unroll=False, **kwargs
)

Обратите внимание, что этот блок не оптимизирован для производительности на GPU. Используйте tf.compat.v1.keras.layers.CuDNNLSTM для повышения производительности на GPU.

Аргументы
units Положительное целое число, размерность выходного пространства.
activation Функция активации для использования. По умолчанию: гиперболический тангенс (tanh). Если вы передадите None, активация не применяется (т. е. линейная активация: a(x) = x).
recurrent_activation Функция активации для использования на рекуррентном шаге. По умолчанию: жёсткая сигмоида (hard_sigmoid). Если вы передадите None, активация не применяется (т. е. линейная активация: a(x) = x).
use_bias Булево значение, использует ли слой вектор смещения.
kernel_initializer Инициализатор матрицы весов kernel, используемой для линейного преобразования входных данных.
recurrent_initializer Инициализатор матрицы весов recurrent_kernel, используемой для линейного преобразования рекуррентного состояния.
bias_initializer Инициализатор вектора смещения.
unit_forget_bias Булево значение. Если True, добавляет 1 к смещению забывающего блока (forget gate) при инициализации. Установка в true также принудительно устанавливает bias_initializer="zeros". Это рекомендуется в Jozefowicz et al., 2015.
kernel_regularizer Функция регуляризации, применяемая к матрице весов kernel.
recurrent_regularizer Функция регуляризации, применяемая к матрице весов recurrent_kernel.
bias_regularizer Функция регуляризации, применяемая к вектору смещения.
activity_regularizer Функция регуляризации, применяемая к выходу слоя (его «активации»).
kernel_constraint Функция ограничения, применяемая к матрице весов kernel.
recurrent_constraint Функция ограничения, применяемая к матрице весов recurrent_kernel.
bias_constraint Функция ограничения, применяемая к вектору смещения.
dropout Вещественное число от 0 до 1. Доля единиц, которые нужно отбросить для линейного преобразования входных данных.
recurrent_dropout Вещественное число от 0 до 1. Доля единиц, которые нужно отбросить для линейного преобразования рекуррентного состояния.
implementation Режим реализации, либо 1, либо 2. Режим 1 будет структурировать свои операции как большее число меньших умножений матриц и сложений, в то время как режим 2 будет объединять их в меньше, но большие операции. Эти режимы будут иметь различные профили производительности на различном оборудовании и для различных применений.
return_sequences Булево значение. Возвращать ли последний выходной результат в последовательности или всю последовательность.
return_state Булево значение. Возвращать ли последнее состояние в дополнение к выводу.
go_backwards Булево (по умолчанию False). Если True, обрабатывать входную последовательность в обратном порядке и возвращать обращенную последовательность.
stateful Булево (по умолчанию False). Если True, последнее состояние для каждого образца с индексом i в пакете будет использоваться в качестве начального состояния для образца с индексом i в следующем пакете.
unroll Булево (по умолчанию False). Если True, сеть будет развернута, иначе будет использоваться символический цикл. Развертывание может ускорить RNN, хотя оно, как правило, более ресурсоёмкое. Развертывание подходит только для коротких последовательностей.
time_major Формат формы тензоров inputs и outputs. Если True, входы и выходы будут иметь форму (timesteps, batch, ...), в то время как в случае False — (batch, timesteps, ...). Использование time_major = True немного эффективнее, поскольку оно избегает транспонирования в начале и в конце вычисления RNN. Однако большинство данных TensorFlow являются пакетно-главными, поэтому по умолчанию эта функция принимает входы и выдает выходы в пакетно-главном формате.

Аргументы вызова:

  • inputs: 3D тензор.
  • mask: Бинарный тензор формы (samples, timesteps) указывающий, должен ли быть замаскирован данный временной шаг.
  • training: Булево значение, указывающее, должно ли слой вести себя в режиме обучения или в режиме вывода. Этот аргумент передается в ячейку при вызове её. Это имеет значение только если используется dropout или recurrent_dropout.
  • initial_state: Список тензоров начальных состояний, которые нужно передать в первый вызов ячейки.
Атрибуты
activation
bias_constraint
bias_initializer
bias_regularizer
dropout
implementation
kernel_constraint
kernel_initializer
kernel_regularizer
recurrent_activation
recurrent_constraint
recurrent_dropout
recurrent_initializer
recurrent_regularizer
states
unit_forget_bias
units
use_bias

Методы

reset_states

Просмотр исходного кода

reset_states(
    states=None
)

Сброс записанных состояний для состоятельного слоя RNN.

Может быть использован только при построении слоя RNN с stateful = True. Аргументы: состояния: массивы NumPy, содержащие значение начального состояния, которое будет передано в ячейку на первом временном шаге. Если значение равно None, будет создан массив NumPy с нулями, основанный на размере состояния ячейки.

Исключения
AttributeError Когда слой RNN не является состоятельным.
ValueError Когда размер пакета слоя RNN неизвестен.
ValueError Когда входной массив NumPy не совместим с состоянием слоя RNN, ни по размеру, ни по типу данных.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/compat/v1/keras/layers/LSTM

Spec-Zone.ru

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