Shortcuts

torch.logsumexp

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

返回给定维度 dim 中每个输入张量行的指数和的对数。该计算在数值上是稳定的。

对于由 dim 给出的求和索引 jj 和其他索引 ii,结果是

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

如果 keepdimTrue,输出张量的大小与 input 相同,除了在维度 dim 上大小为1。 否则,dim 被压缩(参见 torch.squeeze()),导致输出张量减少1(或 len(dim))个维度。

Parameters
  • 输入 (张量) – 输入张量。

  • dim (inttupleints可选) – 要减少的维度或多个维度。 如果 None,则所有维度都被减少。

  • keepdim (布尔值) – 输出张量是否保留dim

Keyword Arguments

输出 (张量, 可选) – 输出张量。

示例:

>>> 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)
优云智算