Fonction torch.logcumsumexp de PyTorch


Pytorch torch 参考手册Manuel de référence PyTorch torch

torch.logcumsumexpest une fonction de PyTorch utilisée pour calculer le logarithme de la somme cumulée des exponentielles. Elle applique d'abord l'exponentielle aux éléments, puis effectue une somme cumulée, et enfin prend le logarithme, ce qui permet d'éviter un débordement numérique.

Définition de fonction

torch.logcumsumexp(input, dim)

Description des paramètres :

  • input: tenseur d'entrée
  • dim: la dimension pour la somme cumulée

Exemple d'utilisation

Exemple

import torch

# Créer un tenseur
x = torch.tensor([1.0, 2.0, 3.0])

# Calculer le logarithme de la somme cumulée des exponentielles
y = torch.logcumsumexp(x, dim=0)
print(y)

Le résultat de sortie est:

tensor([1.0000, 2.3133, 3.1000])

Exemple

import torch

# Vérifier : 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)

# Comparer avec le calcul direct
import math
direct = math.log(math.exp(1) + math.exp(2))
print("logcumsumexp:", y[1].item())
print("direct:", direct)

Le résultat de sortie est:

logcumsumexp: 2.313261505126953
direct: 2.313261505126953

Pytorch torch 参考手册Manuel de référence PyTorch torch

Autres extensions