昇腾社区首页
中文
注册

CumsumOperation

功能

返回给定axes上的累计和。

图1 CumsumOperation

功能实现

输入

  • 数组:cumsum 的输入可以是多维数组。
  • 指定轴:可以选择沿着哪个轴(维度)进行累积和操作。默认情况下,对于一维数组,累积和是从第一个元素开始向后计算;对于多维数组,需要指定沿哪个轴进行累积。

输出

  • 累积和的结果:输出的形状与输入相同,每个元素是该元素以及之前所有元素的和。

计算公式

如果输入是大小为N的一维容器,那么输出也为大小为N的一维容器,其中元素的值为:

定义

struct CumsumParam {
    SVector<int64_t> axes;
    bool exclusive = false;
    bool reverse =  false;
};

参数列表

成员名称

类型

默认值

描述

axes

SVector<int64_t>

-

指定axis轴(维度)上计算累加和,只能包含一个轴索引。

“axes”的值必须小于输入x的维度数。

exclusive

bool

false

在某一个轴上的累加结果从第几个元素开始,默认为false。

  • true:从第一个元素开始。(暂不支持)
  • false:从第0个元素开始。

reverse

bool

false

正向累加或逆向累加,默认为false。

  • true:输出逆向累加。(暂不支持)
  • false:输出正向累加。

输入

参数

维度

数据类型

格式

描述

x

[dim_0,dim_1,... ,dim_n]

float16

ND

输入tensor。

输出

参数

维度

数据类型

格式

描述

y

[dim_0,dim_1,... ,dim_n]

float16

ND

输出tensor

规格约束

  • 参数"axes"的值必须小于输入x的维度数。
  • 参数"axes"数组大小必须为1。
  • 参数"reverse"必须为false。
  • 参数"exclusive"必须为false。