Функция PyTorch torch.logcumsumexp


Pytorch torch 参考手册Справочное руководство PyTorch torch

torch.logcumsumexpявляется функцией в PyTorch, используемой для вычисления логарифма кумулятивной суммы экспонент. Сначала она вычисляет экспоненту элементов, затем выполняет кумулятивное суммирование и, наконец, берёт логарифм, что позволяет избежать численного переполнения.

Определение функции

torch.logcumsumexp(input, dim)

Описание параметров:

  • input: входной тензор
  • dim: размерность для кумулятивного суммирования

Пример использования

Пример

import torch

# Создать тензор
x = torch.tensor([1.0, 2.0, 3.0])

# Вычислить логарифм кумулятивной суммы экспонент
y = torch.logcumsumexp(x, dim=0)
print(y)

Результат вывода:

tensor([1.0000, 2.3133, 3.1000])

Пример

import torch

# Проверка: log(exp(1) + exp(2)) = log(exp(1) + exp(2))
# log(e^1 + e^2) = log(e^1 + e^2) ≈ 2.3133
x = torch.tensor([1.0, 2.0])
y = torch.logcumsumexp(x, dim=0)

# Сравнить с прямым вычислением
import math
direct = math.log(math.exp(1) + math.exp(2))
print("logcumsumexp:", y[1].item())
print("прямой:", direct)

Результат вывода:

logcumsumexp: 2.313261505126953
direct: 2.313261505126953

Pytorch torch 参考手册Справочное руководство PyTorch torch

Другие расширения