Spec-Zone.ru › TensorFlow

tf.keras.layers.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. Являться слоем обработки последовательностей (принимать входные данные размерности 3 и выше).
  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