Аргумент batch_size , переданный методу zero_state этого обертки, равен true_batch_size * beam_width.
Изначальное состояние, созданное с помощью zero_state выше, содержит значение cell_state , содержащее правильно дублированное конечное состояние из кодировщика.
В то же время, с AttentionWrapper, рекомендуется использовать штраф за покрытие при вычислении оценок (https://arxiv.org/pdf/1609.08144.pdf). Это побуждает декодер покрывать все входные данные.
Аргументы
cell
Экземпляр RNNCell .
embedding
Функция, которая принимает векторный тензор ids (argmax id), или аргумент params для embedding_lookup.
start_tokens
Вектор int32 с формой [batch_size], стартовые токены.
end_token
Скаляр int32 , токен, обозначающий конец декодирования.
initial_state
(Возможная вложенная кортеж из...) тензоров и TensorArrays.
Весовой коэффициент для наказания за длину. Отключен при 0,0.
coverage_penalty_weight
Весовой коэффициент для наказания за покрытие исходного предложения. Отключен при 0,0.
reorder_tensor_arrays
Если True, элементы TensorArray внутри состояния ячейки будут переупорядочены в соответствии с путем поиска по лучу. Если TensorArray можно переупорядочить, будет возвращена стопка. В противном случае TensorArray будет возвращено как есть. Установите этот флаг в False , если состояние ячейки содержит TensorArray , которые не подходят для переупорядочения.
Возможные исключения
TypeError
если cell не является экземпляром RNNCell, или output_layer не является экземпляром tf.keras.layers.Layer.
ValueError
Если start_tokens не является вектором или end_token не является скаляром.
Атрибуты
batch_size
output_dtype
(Возможная вложенная кортеж из...) типов данных.
output_size
tracks_own_finished
Декодер BeamSearch переупорядочивает свои лучи и их завершенное состояние.
По этой причине он конфликтует с отслеживанием завершенных состояний функцией dynamic_decode. Установка этого свойства в true предотвращает преждевременную остановку декодирования из-за неправильного управления завершенным состоянием в dynamic_decode.
Экземпляр BeamSearchDecoderState. Передаётся в выходные данные.
sequence_lengths
Тензор int64 , с формой [batch_size, beam_width]. Длины последовательностей, определённые для каждого луча во время декодирования. ПРИМЕЧАНИЕ Они игнорируются; обновлённые длины последовательностей хранятся в final_state.lengths.
Возвращаемые значения
outputs
Экземпляр FinalBeamSearchDecoderOutput , где predicted_ids являются результатом вызова _gather_tree.