Spec-Zone.ru › TensorFlow

tf.keras.layers.Bidirectional

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

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

tf.keras.layers.Bidirectional(
    layer,
    merge_mode='concat',
    weights=None,
    backward_layer=None,
    **kwargs
)

Используется в блокнотах

Используется в учебниках
  • Классификация текста с помощью RNN
  • Регуляризация графов для классификации отзывов с использованием синтезированных графов
  • Нейронный машинный перевод с вниманием
Аргументы
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. Когда return_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.
Примечание:создание слоя Bidirectional из существующего экземпляра слоя RNN не позволит повторно использовать состояние весов экземпляра слоя RNN — слой Bidirectional будет иметь только что инициализированные веса.

Примеры:

model = Sequential([
    Input(shape=(5, 10)),
    Bidirectional(LSTM(10, return_sequences=True),
    Bidirectional(LSTM(10)),
    Dense(5, activation="softmax"),
])
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')

# With custom backward layer
forward_layer = LSTM(10, return_sequences=True)
backward_layer = LSTM(10, activation='relu', return_sequences=True,
                      go_backwards=True)
model = Sequential([
    Input(shape=(5, 10)),
    Bidirectional(forward_layer, backward_layer=backward_layer),
    Dense(5, activation="softmax"),
])
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
Атрибуты
input Получает тензор(ы) ввода символьной операции.

Возвращает только тензор(ы), соответствующий *первому* вызову операции.

output Получает тензор(ы) вывода слоя.

Возвращает только тензор(ы), соответствующий *первому* вызову операции.

states

Методы

from_config

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

@classmethod
from_config(
    config, custom_objects=None
)

Создаёт слой из его конфигурации.

Этот метод — обратный к методу get_config, позволяющий создать тот же слой из словаря конфигурации. Он не обрабатывает соединение слоёв (обрабатывается Network), а также веса (обрабатывается set_weights).

Аргументы
config Словарь Python, обычно вывод метода get_config.
Возвращаемое значение
Экземпляр слоя.

reset_state

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

reset_state()

reset_states

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

reset_states()

symbolic_call

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

symbolic_call(
    *args, **kwargs
)

© 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/api_docs/python/tf/keras/layers/Bidirectional

Spec-Zone.ru

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