Spec-Zone.ru › PyTorch 1

torch.nn.functional.kl_div

torch.nn.functional.kl_div(input, target, size_average=None, reduce=None, reduction='mean', log_target=False) [source]

Функция расчета расхождения Кульбака-Лейблера

См. KLDivLoss для подробностей.

Параметры:
  • input (Тензор) – Тензор произвольной формы в логарифмических вероятностяах.
  • target (Тензор) – Тензор той же формы, что и входной. См. log_target для интерпретации целевого тензора.
  • size_average (bool, optional) – Устарело (см. reduction). По умолчанию, потери усредняются по каждому элементу потерь в пакете. Обратите внимание, что для некоторых потерь может быть несколько элементов на образец. Если поле size_average установлено в значение False, потери суммируются для каждой мини-выборки. Игнорируется, когда reduce равно False. По умолчанию: True
  • reduce (bool, optional) – Устарело (см. reduction). По умолчанию, потери усредняются или суммируются по наблюдениям для каждой мини-выборки в зависимости от size_average. Когда reduce равно False, возвращает потери на элемент пакета вместо этого и игнорирует size_average. По умолчанию: True
  • reduction (str, optional) – Указывает операцию уменьшения, применяемую к выводу: 'none' | 'batchmean' | 'sum' | 'mean'. 'none': не будет применено уменьшение 'batchmean': сумма вывода будет разделена на размер пакета 'sum': вывод будет суммирован 'mean': вывод будет разделен на количество элементов в выводе По умолчанию: 'mean'
  • log_target (bool) – Флаг, указывающий, что target передаётся в логарифмическом пространстве. Рекомендуется передавать определённые распределения (например, softmax) в логарифмическом пространстве, чтобы избежать числовых проблем, вызванных явным log. По умолчанию: False
Тип возвращаемого значения:

Тензор

Примечание

size_average и reduce находятся в процессе устаревания, и в то же время, указание любого из этих двух аргументов переопределит reduction.

Примечание

reduction = 'mean' не возвращает истинное значение расхождения Кульбака-Лейблера, используйте reduction = 'batchmean', которое соответствует математическому определению расхождения Кульбака-Лейблера. В следующей крупной версии 'mean' будет изменено на то же, что и ‘batchmean’.

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.nn.functional.kl_div.html

Spec-Zone.ru

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