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