argmax

paddle. argmax ( x, axis=None, keepdim=False, dtype='int64', name=None ) [源代码]

沿参数 axis 计算输入 x 的最大元素的索引。

参数

  • x (Tensor) - 输入的多维 Tensor,支持的数据类型:float16、float32、float64、int16、int32、int64、uint8。

  • axis (int,可选) - 指定对输入 Tensor 进行运算的轴,axis 的有效范围是[-R, R),R 是输入 x 的维度个数,axis 为负数时,进行计算的 axisaxis + R 一致。默认值为 None,将会对输入的 x 进行平铺展开,返回最大值的索引。

  • keepdim (bool,可选) - 是否在输出 Tensor 中保留减小的维度。如果 keepdim 为 True,则输出 Tensor 和 x 具有相同的维度(减少的维度除外,减少的维度的大小为 1),默认值为 False。

  • dtype (np.dtype|str,可选) - 输出 Tensor 的数据类型,可选值为 int32,int64,默认值为 int64,将返回 int64 类型的结果。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回

Tensor,如果设置 dtype 为 int32 时,返回的 Tensor 的数据类型为 int32,其它情况将返回的 Tensor 的数据类型为 int64。

示例代码

>>> import paddle

>>> x = paddle.to_tensor([[5,8,9,5],
...                       [0,0,1,7],
...                       [6,9,2,4]])
>>> out1 = paddle.argmax(x)
>>> print(out1.numpy())
2
>>> out2 = paddle.argmax(x, axis=0)
>>> print(out2.numpy())
[2 2 0 1]
>>> out3 = paddle.argmax(x, axis=-1)
>>> print(out3.numpy())
[2 3 1]
>>> out4 = paddle.argmax(x, axis=0, keepdim=True)
>>> print(out4.numpy())
[[2 2 0 1]]