Spec-Zone.ru › TensorFlow 2.9

tf.keras.layers.Bidirectional

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

Обёртка Bidirectional для RNN.

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

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

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

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

tf.compat.v1.keras.layers.Bidirectional

tf.keras.layers.Bidirectional(
    layer,
    merge_mode='concat',
    weights=None,
    backward_layer=None,
    **kwargs
)
Аргументы
layer Экземпляр keras.layers.RNN, например, keras.layers.LSTM или keras.layers.GRU. Также может быть экземпляром keras.layers.Layer, который соответствует следующим критериям:
  1. Является слоем обработки последовательностей (принимает входные данные 3D+).
  2. Имеет атрибуты go_backwards, return_sequences и return_state (с такой же семантикой, как и для класса RNN).
  3. Имеет атрибут input_spec.
  4. Реализует сериализацию с помощью get_config() и from_config(). Обратите внимание, что рекомендуемый способ создания новых слоёв RNN — написание пользовательской ячейки RNN и её использование с keras.layers.RNN, а не наследование от keras.layers.Layer напрямую.
  5. Когда returns_sequences имеет значение true, выход от маскированного временного шага будет равен нулю независимо от исходного значения атрибута zero_output_for_mask слоя.
merge_mode Режим комбинирования выходов прямой и обратной RNN. Один из {'sum', 'mul', 'concat', 'ave', None}. Если None, выходы не будут объединены, а будут возвращены как список. Значение по умолчанию — 'concat'.
backward_layer Необязательный экземпляр keras.layers.RNN или keras.layers.Layer для обработки обратного входного потока. Если backward_layer не предоставлен, экземпляр слоя, переданный как аргумент layer, будет автоматически использован для генерации обратного слоя. Обратите внимание, что предоставленный слой backward_layer должен иметь свойства, соответствующие свойствам аргумента layer, в частности, он должен иметь одинаковые значения для stateful, return_states, return_sequences, и т. д. Кроме того, backward_layer и layer должны иметь разные значения аргумента go_backwards . Если эти требования не будут выполнены, будет выброшено исключение ValueError .

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

Аргументы вызова для этого слоя совпадают с аргументами вызова обернутого слоя RNN. Обратите внимание, что при передаче аргумента initial_state во время вызова этого слоя, первая половина элементов в списке initial_state будет передана в прямой вызов RNN, а последняя половина элементов в списке будет передана в обратный вызов RNN.

Исключения
ValueError
  1. Если layer или backward_layer не являются экземпляром Layer.
  2. В случае некорректного аргумента merge_mode.
  3. Если у backward_layer есть несовпадающие свойства по сравнению с layer.

Примеры:

model = Sequential()
model.add(Bidirectional(LSTM(10, return_sequences=True), input_shape=(5, 10)))
model.add(Bidirectional(LSTM(10)))
model.add(Dense(5))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')

 # With custom backward layer
 model = Sequential()
 forward_layer = LSTM(10, return_sequences=True)
 backward_layer = LSTM(10, activation='relu', return_sequences=True,
                       go_backwards=True)
 model.add(Bidirectional(forward_layer, backward_layer=backward_layer,
                         input_shape=(5, 10)))
 model.add(Dense(5))
 model.add(Activation('softmax'))
 model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
Атрибуты
constraints

Методы

reset_states

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

reset_states()

© 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/Bidirectional

Spec-Zone.ru

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