Spec-Zone.ru › TensorFlow 2.9

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
)

См. Руководство по API Keras RNN для получения подробной информации об использовании 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] указывающий, следует ли маскировать определенный момент времени. Индивидуальная запись True указывает, что соответствующий момент времени должен быть использован, а False запись указывает, что соответствующий момент времени следует игнорировать.
  • 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. Аргументы: states: Массивы NumPy, содержащие значения для начального состояния, которое будет передано в ячейку в первый момент времени. Если значение равно None, создаётся нулевой массив NumPy, основанный на размере состояния ячейки.

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

© 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/keras/layers/SimpleRNN

Spec-Zone.ru

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