torch.nn.functional.kl_div
-
torch.nn.functional.kl_div(input, target, size_average=None, reduce=None, reduction='mean', log_target=False)[исходный код] -
Вычисляет функцию потерь на основе расхождения Кульбака — Лейблера.
См. функцию потерь на основе расхождения Кульбака — Лейблера
Подробнее см.
KLDivLoss.- Параметры:
-
- input (Tensor) – Тензор произвольной формы, содержащий логарифмы вероятностей.
-
target (Tensor) – Тензор той же формы, что и input. См.
log_target, чтобы узнать, как интерпретируется target. -
size_average (bool, необязательно) – Устарел (см.
reduction). -
reduce (bool, необязательно) – Устарел (см.
reduction). -
reduction (str, необязательно) – Задает способ сведения выходных данных:
'none'|'batchmean'|'sum'|'mean'.'none': сведение не выполняется'batchmean': сумма выходных данных делится на размер пакета'sum': выходные данные суммируются'mean': выходные данные делятся на количество элементов в них Значение по умолчанию:'mean' -
log_target (bool) – Флаг, указывающий, передается ли
targetв логарифмическом пространстве. Для некоторых распределений (например,softmax) рекомендуется использовать логарифмическое пространство, чтобы избежать численных проблем, вызванных явнымlog. Значение по умолчанию:False
- Тип возвращаемого значения:
Примечание
size_averageиreduceпостепенно объявляются устаревшими. Пока что указание любого из этих двух аргументов переопределитreduction.Предупреждение
reduction='mean'не возвращает истинное значение расхождения KL. Используйтеreduction='batchmean', которое соответствует математическому определению KL.
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nn.functional.kl_div.html