Spec-Zone.ru › TensorFlow 2.4

tf.keras.layers.SimpleRNN

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

Полносвязный RNN, где выход подаётся обратно на вход.

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

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.keras.layers.SimpleRNN

tf.keras.layers.SimpleRNN(
    units, activation='tanh', use_bias=True,
    kernel_initializer='glorot_uniform',
    recurrent_initializer='orthogonal',
    bias_initializer='zeros', 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, return_sequences=False, return_state=False,
    go_backwards=False, stateful=False, unroll=False, **kwargs
)

См. руководство Keras RNN API для получения подробной информации о применении API RNN.

Аргументы
units Положительное целое число, размерность выходного пространства.
activation Функция активации для использования. По умолчанию: гиперболический тангенс (tanh). Если передано None, никакая активация не применяется (т.е. используется линейная активация: a(x) = x).
use_bias Булево значение (по умолчанию True), использует ли слой вектор смещения.
kernel_initializer Инициализатор матрицы весов kernel, используемый для линейного преобразования входных данных. По умолчанию: glorot_uniform.
recurrent_initializer Инициализатор матрицы весов recurrent_kernel, используемый для линейного преобразования рекуррентного состояния. По умолчанию: orthogonal.
bias_initializer Инициализатор вектора смещения. По умолчанию: zeros.
kernel_regularizer Функция регуляризации, применяемая к матрице весов kernel. По умолчанию: None.
recurrent_regularizer Функция регуляризации, применяемая к матрице весов recurrent_kernel. По умолчанию: None.
bias_regularizer Функция регуляризации, применяемая к вектору смещения. По умолчанию: None.
activity_regularizer Функция регуляризации, применяемая к выходу слоя (его "активации"). По умолчанию: None.
kernel_constraint Функция ограничения, применяемая к матрице весов kernel. По умолчанию: None.
recurrent_constraint Функция ограничения, применяемая к матрице весов recurrent_kernel. По умолчанию: None.
bias_constraint Функция ограничения, применяемая к вектору смещения. По умолчанию: None.
dropout Значение от 0 до 1. Доля единиц, которые нужно отбросить для линейного преобразования входных данных. По умолчанию: 0.
recurrent_dropout Значение от 0 до 1. Доля единиц, которые нужно отбросить для линейного преобразования рекуррентного состояния. По умолчанию: 0.
return_sequences Булево значение. Возвращать ли последний выход в последовательности вывода или всю последовательность. По умолчанию: False.
return_state Булево значение. Возвращать ли последнее состояние помимо вывода. По умолчанию: False
go_backwards Булево (по умолчанию False). Если True, обрабатывать последовательность в обратном порядке и возвращать обратную последовательность.
stateful Булево (по умолчанию False). Если True, последнее состояние для каждого образца с индексом i в пачке будет использоваться в качестве начального состояния для образца с индексом i в следующей пачке.
unroll Булево (по умолчанию False). Если True, сеть будет развернута, иначе будет использоваться символический цикл. Развертывание может ускорить RNN, хотя оно, как правило, более ресурсоёмко. Развертывание подходит только для коротких последовательностей.

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

  • inputs: 3D тензор, с формой [batch, timesteps, feature].
  • mask: Бинарный тензор с формой [batch, timesteps], указывающий, нужно ли маскировать данный временной шаг.
  • training: Python-булево значение, указывающее, должен ли слой вести себя в режиме обучения или в режиме вывода. Этот аргумент передается ячейке при её вызове. Это актуально только в случае использования dropout или recurrent_dropout.
  • initial_state: Список начальных тензоров состояния, которые нужно передать в первый вызов ячейки.

Примеры:

inputs = np.random.random([32, 10, 8]).astype(np.float32)
simple_rnn = tf.keras.layers.SimpleRNN(4)

output = simple_rnn(inputs)  # The output has shape `[32, 4]`.

simple_rnn = tf.keras.layers.SimpleRNN(
    4, return_sequences=True, return_state=True)

# whole_sequence_output has shape `[32, 10, 4]`.
# final_state has shape `[32, 4]`.
whole_sequence_output, final_state = simple_rnn(inputs)
Атрибуты
activation
bias_constraint
bias_initializer
bias_regularizer
dropout
kernel_constraint
kernel_initializer
kernel_regularizer
recurrent_constraint
recurrent_dropout
recurrent_initializer
recurrent_regularizer
states
units
use_bias

Методы

reset_states

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

reset_states(
    states=None
)

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

Может быть использован только при создании слоя RNN с stateful = True. Args: states: Массивы 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.4/api_docs/python/tf/keras/layers/SimpleRNN

Spec-Zone.ru

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