评价此页

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