Список экземпляров 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
УСТАРЕВШАЯ ФУНКЦИЯ
output_size
Целое число или TensorShape: размер выводов, производимых этой ячейкой.
Возвращает кортеж начального (нулевого) состояния для этой AttentionWrapper.
Примечание: Подробности о вызове zero_state при использовании AttentionWrapper с BeamSearchDecoder см. в документации инициализатора.
Аргументы
batch_size
Целочисленный тензор: размер пакета.
dtype
Тип данных внутреннего состояния.
Возвращаемое значение
Кортеж AttentionWrapperState, содержащий обнуленные тензоры и, возможно, пустые объекты TensorArray.
Исключения
ValueError
(или, возможно, во время выполнения, InvalidArgument), если batch_size не соответствует размеру выхода кодера, переданного объекту оболочки во время инициализации.