快捷方式

torch.logsumexp

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

返回在給定維度 dim 上輸入 input 張量的每一行指數和的對數。計算過程進行了數值穩定化。

對於由 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) 個)維度。

引數
  • input (Tensor) – 輸入張量。

  • dim (inttuple of ints, optional) – 要降維的維度。如果為 None,則所有維度都將降維。

  • keepdim (bool) – 輸出張量是否保留 dim

關鍵字引數

out (Tensor, optional) – 輸出張量。

示例

>>> 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)

文件

訪問 PyTorch 全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源