开发者
资源
[object Object]

[object Object][object Object]undefined
[object Object]
  • 接口功能:[object Object]函数用于计算输入张量在指定维度上的累积乘积。例如,如果有一个张量表示一系列的数值,[object Object]可以计算出这些数值从开始位置到当前位置的乘积序列。

  • 计算公式:

    • 一维张量(向量)情况 当对于一维张量,累积乘积y=[y1,y2,y3...,yn]y=[y_1,y_2,y_3...,y_n]的计算公式为:

      y1=x1y_1=x_1 y2=x1×x2y_2=x_1 \times x_2 y3=x1×x2×x3y_3=x_1 \times x_2\times x_3 ... yn=x1×x2×x3×xny_n=x_1\times x_2\times x_3\times x_n

      用数学公式表示yi=j=1ixj,其中i=1,2...,ny_i=\prod_{j=1}^ix_j, 其中i=1,2...,n

    • 高维张量情况(以二维张量为例, dim=0 沿行方向) 对于二维张量:

      X=[x11x12...x1mx21x22...x2m............xn1xn2...xnm]X=\begin{bmatrix}x_{11}&x_{12}&...&x_{1m}\\x_{21}&x_{22}&...&x_{2m}\\...&...&...&...&\\x_{n1}&x_{n2}&...&x_{nm}&\end{bmatrix}

      计算后的结果张量:

      Y=[y11y12...y1my21y22...y2m............yn1yn2...ynm]Y=\begin{bmatrix}y_{11}&y_{12}&...&y_{1m}\\y_{21}&y_{22}&...&y_{2m}\\...&...&...&...&\\y_{n1}&y_{n2}&...&y_{nm}&\end{bmatrix}

      对于第一列(j=1):

      yi1=x11×x21×...×xi1(对于i=1,2,....n)y_{i1}=x_{11}\times x_{21}\times ...\times x_{i1}(对于i=1,2,....n)

      所以对于任意列j,也有类似规律, 即:

      yij=k=1ixkjy_{ij}=\prod_{k=1}^{i} x_{kj}
    • 高维张量情况(以二维张量为例, dim=1 沿列方向情况) 所以对于任意列j,也有类似规律, 即:

      yij=k=1jxiky_{ij}=\prod_{k=1}^{j} x_{ik}
    • 其它参数可以类似地根据上述规则进行推导

[object Object]

aclnnCumprod和aclnnInplaceCumprod实现相同的功能,使用区别如下,请根据自身实际场景选择合适的算子。

  • aclnnCumprod:需新建一个输出张量对象存储计算结果。
  • aclnnInplaceCumprod:无需新建输出张量对象,直接在输入张量的内存中存储计算结果。

每个算子分为,必须先调用"aclnnCumprodGetWorkspaceSize"或者"aclnnInplaceCumprodGetWorkspaceSize"接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用"aclnnCumprod"或者"aclnnInplaceCumprod"接口执行计算。

[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
  • 参数说明:

    [object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

    第一段接口完成入参校验,出现如下场景时报错:

    [object Object]
[object Object]
  • 参数说明:

    [object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

[object Object]
  • 参数说明:

    [object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

    第一段接口完成入参校验,出现如下场景时报错:

    [object Object]
[object Object]
  • 参数说明:

    [object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

[object Object]
  • 确定性计算:
    • aclnnCumprod&aclnnInplaceCumprod默认确定性实现。
[object Object]

示例代码如下,仅供参考,具体编译和执行过程请参考

[object Object]