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.]]