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