Spec-Zone.ru › TensorFlow 1.15

tf.contrib.seq2seq.sequence_loss

Взвешенная кросс-энтропийная потеря для последовательности логарифмов.

tf.contrib.seq2seq.sequence_loss(
    logits, targets, weights, average_across_timesteps=True,
    average_across_batch=True, sum_over_timesteps=False, sum_over_batch=False,
    softmax_loss_function=None, name=None
)

В зависимости от значений average_across_timesteps / sum_over_timesteps и average_across_batch / sum_over_batch, возвращаемый тензор будет иметь ранг 0, 1 или 2, поскольку эти аргументы уменьшают кросс-энтропию в каждом целевом значении, которое имеет форму [batch_size, sequence_length], по соответствующим измерениям. Например, если average_across_timesteps равно True и average_across_batch равно False, то возвращаемый тензор будет иметь форму [batch_size].

Обратите внимание, что average_across_timesteps и sum_over_timesteps не могут быть одновременно истинными. То же самое относится к average_across_batch и sum_over_batch.

Рекомендуемое уменьшение потери в tf 2.0 было изменено на sum_over, а не на взвешенное среднее. Пользователям рекомендуется использовать sum_over_timesteps и sum_over_batch для уменьшения.

Аргументы
logits Тензор формы [batch_size, sequence_length, num_decoder_symbols] и типа float. Логарифмы соответствуют предсказанию по всем классам на каждом временном шаге.
targets Тензор формы [batch_size, sequence_length] и типа int. Цель представляет собой истинный класс на каждом временном шаге.
weights Тензор формы [batch_size, sequence_length] и типа float. weights определяет взвешивание каждого предсказания в последовательности. При использовании weights в качестве маскирования установите все допустимые временные шаги в 1, а все заполненные временные шаги в 0, например, маску, возвращаемую tf.sequence_mask.
average_across_timesteps Если установлено, суммирует затраты по размеру последовательности и делит затраты на общую массу метки по временным шагам.
average_across_batch Если установлено, суммирует затраты по размеру пакета и делит возвращенные затраты на размер пакета.
sum_over_timesteps Если установлено, суммирует затраты по размеру последовательности и делит размер последовательности. Обратите внимание, что любой элемент с весом 0 будет исключен из расчета размера.
sum_over_batch Если установлено, суммирует затраты по размеру пакета и делит общие затраты на размер пакета. Обратите внимание, что любой элемент с весом 0 будет исключен из расчета размера.
softmax_loss_function Функция (метки, логарифмы) -> потеря-пакет, которая используется вместо стандартной softmax (по умолчанию, если это None). Обратите внимание, что для избежания путаницы требуется, чтобы функция принимала именованные аргументы.
name Необязательное имя для этой операции, по умолчанию "sequence_loss".
Возвращает
Вещественный тензор ранга 0, 1 или 2, в зависимости от average_across_timesteps и average_across_batch аргументов. По умолчанию имеет ранг 0 (скаляр) и представляет собой взвешенное среднее значение кросс-энтропии (логарифмической сложности) на символ.
Возбуждает
ValueError Логарифмы не имеют 3 измерений или метки не имеют 2 измерений или веса не имеют 2 измерений.

© 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/sequence_loss

Spec-Zone.ru

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