РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
391 of 769 menu

Функция log_softmax

Функция F.log_softmax из модуля torch.nn.functional применяет операцию логарифмического softmax к входному тензору. Она вычисляет логарифм от softmax, что обеспечивает численную стабильность и часто используется в сочетании с функцией потерь NLLLoss. Первым параметром функция принимает тензор, вторым - измерение, по которому вычисляется softmax. Также можно указать тип данных через параметр dtype.

Синтаксис

torch.nn.functional.log_softmax(input, dim, dtype=None)

Пример

Давайте применим функцию к одномерному тензору:

import torch import torch.nn.functional as F t = torch.tensor([1.0, 2.0, 3.0]) res = F.log_softmax(t, dim=0) print(res)

Результат выполнения кода:

tensor([-2.4076, -1.4076, -0.4076])

Пример

Теперь применим функцию к двумерному тензору по разным измерениям:

import torch import torch.nn.functional as F t = torch.tensor([ [1.0, 2.0, 3.0], [4.0, 5.0, 6.0], ]) res = F.log_softmax(t, dim=1) print(res)

Результат выполнения кода:

tensor([ [-2.4076, -1.4076, -0.4076], [-2.4076, -1.4076, -0.4076], ])

Пример

Проверим, что сумма экспонент от результата равна единице:

import torch import torch.nn.functional as F t = torch.tensor([1.0, 2.0, 3.0]) log_res = F.log_softmax(t, dim=0) res = torch.exp(log_res) print(res) print(res.sum())

Результат выполнения кода:

tensor([0.0900, 0.2447, 0.6652]) tensor(1.0000)

Пример

Укажем тип данных для результата:

import torch import torch.nn.functional as F t = torch.tensor([1.0, 2.0, 3.0]) res = F.log_softmax(t, dim=0, dtype=torch.float64) print(res.dtype)

Результат выполнения кода:

torch.float64

Смотрите также

  • функцию softmax,
    которая вычисляет обычный softmax
  • функцию softmin,
    которая вычисляет softmin
  • функцию cross_entropy,
    которая объединяет log_softmax и NLLLoss
  • функцию nll_loss,
    которая вычисляет отрицательное логарифмическое правдоподобие
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить