CumsumOperation
产品支持情况
| 
          硬件型号  | 
        
          是否支持  | 
       
|---|---|
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
功能
返回给定axes上的累计和。
     图1 CumsumOperation
     
    
   
    功能实现
输入:
- 数组:cumsum 的输入可以是多维数组。
 - 指定轴:可以选择沿着哪个轴(维度)进行累积和操作。默认情况下,对于一维数组,累积和是从第一个元素开始向后计算;对于多维数组,需要指定沿哪个轴进行累积。
 
输出:
- 累积和的结果:输出的形状与输入相同,每个元素是该元素以及之前所有元素的和。
 
计算公式
如果输入是大小为N的一维容器,那么输出也为大小为N的一维容器,其中元素的值为:

定义
          1 2 3 4 5 6  | 
         
          struct CumsumParam { SVector<int64_t> axes; bool exclusive = false; bool reverse = false; uint8_t rsv[14] = {0}; };  | 
        
参数列表
| 
          成员名称  | 
        
          类型  | 
        
          默认值  | 
        
          描述  | 
       
|---|---|---|---|
| 
          axes  | 
        
          SVector<int64_t>  | 
        
          -  | 
        
          指定axis轴(维度)上计算累加和,只能包含一个轴索引。 “axes”的值必须小于输入x的维度数。  | 
       
| 
          exclusive  | 
        
          bool  | 
        
          false  | 
        
          在某一个轴上的累加结果从第几个元素开始,默认为false。 
  | 
       
| 
          reverse  | 
        
          bool  | 
        
          false  | 
        
          正向累加或逆向累加,默认为false。 
  | 
       
| 
          rsv[14]  | 
        
          uint8_t  | 
        
          {0}  | 
        
          预留参数。  | 
       
输入
| 
          参数  | 
        
          维度  | 
        
          数据类型  | 
        
          格式  | 
        
          描述  | 
       
|---|---|---|---|---|
| 
          x  | 
        
          [dim_0, dim_1, ..., dim_n]  | 
        
          float16/bf16  | 
        
          ND  | 
        
          输入tensor。  | 
       
输出
| 
          参数  | 
        
          维度  | 
        
          数据类型  | 
        
          格式  | 
        
          描述  | 
       
|---|---|---|---|---|
| 
          y  | 
        
          [dim_0, dim_1, ..., dim_n]  | 
        
          float16/bf16  | 
        
          ND  | 
        
          输出tensor。  | 
       
规格约束
- 参数"axes"的值必须小于输入x的维度数。
 - 参数"axes"数组大小必须为1。
 - 参数"reverse"必须为false。
 - 参数"exclusive"必须为false。