Función PyTorch torch.logcumsumexp


Pytorch torch 参考手册Manual de referencia de Pytorch torch

torch.logcumsumexpEs una función de PyTorch utilizada para calcular el logaritmo de la suma exponencial acumulativa. Primero aplica exponencial a los elementos, luego calcula la suma acumulativa y finalmente toma el logaritmo, lo que evita el desbordamiento numérico.

Definición de la función

torch.logcumsumexp(input, dim)

Descripción de parámetros:

  • input: tensor de entrada
  • dim: dimensión para la suma acumulativa

Ejemplo de uso

Ejemplo

import torch

# Crear tensor
x = torch.tensor([1.0, 2.0, 3.0])

# Calcular el logaritmo de la suma exponencial acumulativa
y = torch.logcumsumexp(x, dim=0)
print(y)

El resultado es:

tensor([1.0000, 2.3133, 3.1000])

Ejemplo

import torch

# Verificar: 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)

# Comparar con el cálculo directo
import math
direct = math.log(math.exp(1) + math.exp(2))
print("logcumsumexp:", y[1].item())
print("direct:", direct)

El resultado es:

logcumsumexp: 2.313261505126953
direct: 2.313261505126953

Pytorch torch 参考手册Manual de referencia de Pytorch torch

Otras extensiones