評價此頁

torch.max#

torch.max(input, *, out=None) Tensor#

返回 input 張量中所有元素的最大值。

注意

max/minamax/amin 之間的區別在於
  • amax/amin 支援在多個維度上進行歸約,

  • amax/amin 不返回索引。

當有多個輸入元素具有相同的最小或最大值時,amax/amin 會在這些值之間均勻分配梯度。

對於 max/min
  • 如果對所有維度進行歸約(未指定 dim),則梯度會在相等的 max/min 值之間均勻分配。

  • 如果在一指定的軸上進行歸約,則只傳播到索引的元素。

引數

input (Tensor) – 輸入張量。

關鍵字引數

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

示例

>>> a = torch.randn(1, 3)
>>> a
tensor([[ 0.6763,  0.7445, -2.2369]])
>>> torch.max(a)
tensor(0.7445)
torch.max(input, dim, keepdim=False, *, out=None)

返回一個命名元組 (values, indices),其中 values 是給定維度 diminput 張量每行的最大值。而 indices 是找到的每個最大值的索引位置(argmax)。

如果 keepdimTrue,則輸出張量的大小與 input 相同,只是在 dim 維度上大小為 1。否則,dim 會被壓縮(參見 torch.squeeze()),導致輸出張量的維度比 input 少 1。

注意

如果在一個縮減行中有多個最大值,則返回第一個最大值的索引。

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

  • dim (int, optional) – 要縮減的維度。如果省略,則縮減所有維度。不支援顯式的 None

  • keepdim (bool, optional) – 輸出張量是否保留 dim。預設為 False

關鍵字引數

out (tuple, optional) – 包含兩個輸出張量(max, max_indices)的結果元組

示例

>>> a = torch.randn(4, 4)
>>> a
tensor([[-1.2360, -0.2942, -0.1222,  0.8475],
        [ 1.1949, -1.1127, -2.2379, -0.6702],
        [ 1.5717, -0.9207,  0.1297, -1.8768],
        [-0.6172,  1.0036, -0.6060, -0.2432]])
>>> torch.max(a, 1)
torch.return_types.max(values=tensor([0.8475, 1.1949, 1.5717, 1.0036]), indices=tensor([3, 0, 0, 1]))
>>> a = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
>>> a.max(dim=1, keepdim=True)
torch.return_types.max(
values=tensor([[2.], [4.]]),
indices=tensor([[1], [1]]))
>>> a.max(dim=1, keepdim=False)
torch.return_types.max(
values=tensor([2., 4.]),
indices=tensor([1, 1]))
torch.max(input, other, *, out=None) Tensor

參見 torch.maximum()