torch.max#
- torch.max(input, *, out=None) Tensor#
返回
input張量中所有元素的最大值。注意
max/min和amax/amin之間的區別在於amax/amin支援在多個維度上進行歸約,amax/amin不返回索引。
當有多個輸入元素具有相同的最小或最大值時,
amax/amin會在這些值之間均勻分配梯度。- 對於
max/min 如果對所有維度進行歸約(未指定 dim),則梯度會在相等的
max/min值之間均勻分配。如果在一指定的軸上進行歸約,則只傳播到索引的元素。
示例
>>> 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是給定維度dim下input張量每行的最大值。而indices是找到的每個最大值的索引位置(argmax)。如果
keepdim為True,則輸出張量的大小與input相同,只是在dim維度上大小為 1。否則,dim會被壓縮(參見torch.squeeze()),導致輸出張量的維度比input少 1。注意
如果在一個縮減行中有多個最大值,則返回第一個最大值的索引。
- 引數
- 關鍵字引數
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()。