cummax¶
沿给定 axis
计算 Tensor x
的累积最大值。
注解
结果的第一个元素和输入的第一个元素相同。
参数¶
x (Tensor) - 需要进行累积最大值操作的 Tensor。
axis (int,可选) - 指明需要累积最大值的维度。-1 代表最后一维。默认:None,将输入展开为一维变量再进行累积最大值计算。
dtype (str,可选) - 输出 Indices 的数据类型,可以是 int32、int64,默认值为 int64。
name (str,可选) - 具体用法请参见 Name ,一般无需设置,默认值为 None。
返回¶
out
(Tensor):返回累积最大值操作的结果,累积最大值结果类型和输入 x 相同。
indices
(Tensor):返回对应累积最大值操作的的索引结果。
代码示例¶
>>> import paddle
>>> data = paddle.to_tensor([-1, 5, 0, -2, -3, 2])
>>> data = paddle.reshape(data, (2, 3))
>>> value, indices = paddle.cummax(data)
>>> value
Tensor(shape=[6], dtype=int64, place=Place(cpu), stop_gradient=True,
[-1, 5, 5, 5, 5, 5])
>>> indices
Tensor(shape=[6], dtype=int64, place=Place(cpu), stop_gradient=True,
[0, 1, 1, 1, 1, 1])
>>> value, indices = paddle.cummax(data, axis=0)
>>> value
Tensor(shape=[2, 3], dtype=int64, place=Place(cpu), stop_gradient=True,
[[-1, 5, 0],
[-1, 5, 2]])
>>> indices
Tensor(shape=[2, 3], dtype=int64, place=Place(cpu), stop_gradient=True,
[[0, 0, 0],
[0, 0, 1]])
>>> value, indices = paddle.cummax(data, axis=-1)
>>> value
Tensor(shape=[2, 3], dtype=int64, place=Place(cpu), stop_gradient=True,
[[-1, 5, 5],
[-2, -2, 2]])
>>> indices
Tensor(shape=[2, 3], dtype=int64, place=Place(cpu), stop_gradient=True,
[[0, 1, 1],
[0, 0, 2]])
>>> value, indices = paddle.cummax(data, dtype='int64')
>>> assert indices.dtype == paddle.int64