Spec-Zone.ru › TensorFlow 1.15

tf.contrib.seq2seq.AttentionWrapper

Оборачивает другой RNNCell с вниманием.

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

tf.contrib.seq2seq.AttentionWrapper(
    cell, attention_mechanism, attention_layer_size=None, alignment_history=False,
    cell_input_fn=None, output_attention=True, initial_cell_state=None, name=None,
    attention_layer=None, attention_fn=None, dtype=None
)
Аргументы
cell Экземпляр RNNCell.
attention_mechanism Список экземпляров AttentionMechanism или один экземпляр.
attention_layer_size Список целых чисел Python или одно целое число Python, глубина слоя(ей) внимания (вывода). Если None (по умолчанию), используйте контекст как внимание на каждом временном шаге. В противном случае, передайте контекст и выход ячейки в слой внимания, чтобы сгенерировать внимание на каждом временном шаге. Если attention_mechanism — список, attention_layer_size должен быть списком той же длины. Если attention_layer задан, это должно быть None. Если attention_fn задан, он должен гарантировать, что выводы attention_fn также соответствуют вышеуказанным требованиям.
alignment_history Булево значение Python, сохранять ли историю выравнивания со всех временных шагов в конечном состоянии вывода (в настоящее время хранится как время-главный TensorArray , на котором вы должны вызвать stack()).
cell_input_fn (необязательно) callable. По умолчанию: lambda inputs, attention: array_ops.concat([inputs, attention], -1).
output_attention Булевое значение Python. Если True (по умолчанию), выход на каждом временном шаге — значение внимания. Это поведение механизмов внимания в стиле Luong. Если False, выход на каждом временном шаге — результат cell. Это поведение механизмов внимания в стиле Bhadanau. В обоих случаях тензор attention передаётся на следующий временной шаг через состояние и используется там. Этот флаг управляет только тем, распространяется ли механизм внимания до следующей ячейки в стеке RNN или до верхнего вывода RNN.
initial_cell_state Начальное значение состояния для ячейки, которое нужно использовать, когда пользователь вызывает zero_state(). Обратите внимание, что если это значение указано сейчас, и пользователь использует аргумент batch_size функции zero_state, который не соответствует размеру пакету initial_cell_state, надёжное поведение не гарантируется.
name Имя для использования при создании операций.
attention_layer Список экземпляров tf.compat.v1.layers.Layer или один экземпляр tf.compat.v1.layers.Layer, принимающий контекст и выход ячейки в качестве входных данных для генерации внимания на каждом временном шаге. Если None (по умолчанию), используйте контекст как внимание на каждом временном шаге. Если attention_mechanism — список, attention_layer должен быть списком той же длины. Если attention_layers_size задан, это должно быть None.
attention_fn Необязательная вызываемая функция, которая позволяет пользователям предоставлять свои собственные настраиваемые функции внимания, которые принимают входные данные (attention_mechanism, cell_output, attention_state, attention_layer) и выдают (attention, alignments, next_attention_state). Если она предоставлена, attention_layer_size должен быть размером выходов attention_fn.
dtype Тип данных ячейки
Исключения
TypeError attention_layer_size не равно None и (attention_mechanism — список, но attention_layer_size нет; или наоборот).
ValueError если attention_layer_size не равно None, attention_mechanism — список, и его длина не соответствует длине attention_layer_size; если attention_layer_size и attention_layer установлены одновременно.
Атрибуты
graph УСТАРЕВШАЯ ФУНКЦИЯ
Предупреждение: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: перестаньте использовать это свойство, потому что слои tf.layers больше не отслеживают свою диаграмму.
output_size Целое число или TensorShape: размер выводов, производимых этой ячейкой.
scope_name
state_size Свойство state_size объекта AttentionWrapper.

Методы

get_initial_state

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

get_initial_state(
    inputs=None, batch_size=None, dtype=None
)

zero_state

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

zero_state(
    batch_size, dtype
)

Возвращает кортеж начального (нулевого) состояния для этой AttentionWrapper.

Примечание: Подробности о вызове zero_state при использовании AttentionWrapper с BeamSearchDecoder см. в документации инициализатора.
Аргументы
batch_size Целочисленный тензор: размер пакета.
dtype Тип данных внутреннего состояния.
Возвращаемое значение
Кортеж AttentionWrapperState, содержащий обнуленные тензоры и, возможно, пустые объекты TensorArray.
Исключения
ValueError (или, возможно, во время выполнения, InvalidArgument), если batch_size не соответствует размеру выхода кодера, переданного объекту оболочки во время инициализации.

© 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/r1.15/api_docs/python/tf/contrib/seq2seq/AttentionWrapper

Spec-Zone.ru

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