Spec-Zone.ru › TensorFlow 2.3

tf.keras.layers.SimpleRNN

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

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

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

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

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

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

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 RNN Keras для получения подробной информации об использовании 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. Аргументы: 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.3/api_docs/python/tf/keras/layers/SimpleRNN

Spec-Zone.ru

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