mindspore.ops.cumsum
- mindspore.ops.cumsum(x, axis, dtype=None)[源代码]
计算输入Tensor x 沿轴 axis 的累积和。
\[y_i = x_1 + x_2 + x_3 + ... + x_i\]说明
目前Ascend平台上,对于静态shape的场景, x 的数据类型暂仅支持:int8、uint8、int32,float32和float16;对于动态shape的场景, x 的数据类型暂仅支持:int32、float32和float16。
- 参数:
x (Tensor) - 输入Tensor。shape为 \((N, *)\) ,其中 \(*\) 为任意数量的额外维度。
axis (int) - 累积和计算的轴。
dtype (
mindspore.dtype
, 可选) - 输出数据类型。如果不为None,则输入会转化为 dtype。这有利于防止数值溢出。如果为None,则输出和输入的数据类型一致。默认值:None
。
- 返回:
Tensor,和输入Tensor的shape相同。
- 异常:
TypeError - 如果 x 不是Tensor。
ValueError - 如果 axis 超出范围。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor >>> import mindspore.ops as ops >>> x = Tensor(np.array([[3, 4, 6, 10], [1, 6, 7, 9], [4, 3, 8, 7], [1, 3, 7, 9]]).astype(np.float32)) >>> # case 1: along the axis 0 >>> y = ops.cumsum(x, 0) >>> print(y) [[ 3. 4. 6. 10.] [ 4. 10. 13. 19.] [ 8. 13. 21. 26.] [ 9. 16. 28. 35.]] >>> # case 2: along the axis 1 >>> y = ops.cumsum(x, 1) >>> print(y) [[ 3. 7. 13. 23.] [ 1. 7. 14. 23.] [ 4. 7. 15. 22.] [ 1. 4. 11. 20.]]