Spec-Zone.ru › PyTorch 2

torch.logsumexp

torch.logsumexp(input, dim, keepdim=False, *, out=None)

Возвращает логарифм суммы экспонент каждой строки тензора input в заданном измерении dim. Вычисление выполняется с числовой стабилизацией.

Для индекса суммирования jj заданного dim и других индексов ii, результат выглядит так:

logsumexp(x)i=log⁡∑jexp⁡(xij)\text{logsumexp}(x)_{i} = \log \sum_j \exp(x_{ij})

Если keepdim является True, тензор результата имеет тот же размер, что и input, за исключением измерения(ей) dim, где размер равен 1. В противном случае, dim сжимается (см. torch.squeeze()), что приводит к тому, что тензор результата имеет на 1 (или len(dim)) меньше измерение(й).

Параметры
  • input (Tensor) – входной тензор.
  • dim (int или кортеж из целых чисел, необязательно) – измерение или измерения для уменьшения. Если None, все измерения уменьшаются.
  • keepdim (bool) – сохраняет ли выходной тензор измерение(я) или нет.
Ключевые аргументы

out (Tensor, необязательно) – выходной тензор.

Пример:

>>> a = torch.randn(3, 3)
>>> torch.logsumexp(a, 1)
tensor([1.4907, 1.0593, 1.5696])
>>> torch.dist(torch.logsumexp(a, 1), torch.log(torch.sum(torch.exp(a), 1)))
tensor(1.6859e-07)

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.logsumexp.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API