已合并
modified md files #3988
gitee-duhuiping创建于 7月10日
modified md files #3988
已合并
共 5 个文件变更+25-21
| @@ -126,7 +126,7 @@ | |||
| 126 | | [aclnnExp2&aclnnInplaceExp2](../../math/pow/docs/aclnnExp2&aclnnInplaceExp2.md) | self每个元素作为基数2的幂完成计算。 | 默认确定性实现| 默认确定性实现 | | 126 | | [aclnnExp2&aclnnInplaceExp2](../../math/pow/docs/aclnnExp2&aclnnInplaceExp2.md) | self每个元素作为基数2的幂完成计算。 | 默认确定性实现| 默认确定性实现 | |
| 127 | | [aclnnExpand](../../math/expand/docs/aclnnExpand.md) | 将输入张量self广播成指定size的张量。 | 默认确定性实现| 默认确定性实现| | 127 | | [aclnnExpand](../../math/expand/docs/aclnnExpand.md) | 将输入张量self广播成指定size的张量。 | 默认确定性实现| 默认确定性实现| |
| 128 | | [aclnnExpm1&aclnnInplaceExpm1](../../math/expm1/docs/aclnnExpm1&aclnnInplaceExpm1.md) | 以输入的self为指数,计算自然常数e的幂,并对指数计算结果进行减1计算。 | 默认确定性实现| 默认确定性实现| | 128 | | [aclnnExpm1&aclnnInplaceExpm1](../../math/expm1/docs/aclnnExpm1&aclnnInplaceExpm1.md) | 以输入的self为指数,计算自然常数e的幂,并对指数计算结果进行减1计算。 | 默认确定性实现| 默认确定性实现| |
| 129 | -| [aclnnExpSegsum](../../math/segsum/docs/aclnnExpSegsum.md) | 进行分段和计算。生成对角线为0的半可分矩阵,且上三角为-inf。 | 默认确定性实现| - | | 129 | +| [aclnnExpSegsum](../../math/segsum/docs/aclnnExpSegsum.md) | 进行分段和计算。生成对角线为1、上三角为0的半可分矩阵。 | 默认确定性实现| - | |
| 130 | | [aclnnExpSegsumBackward](../../math/exp_segsum_grad/docs/aclnnExpSegsumBackward.md) | [aclnnExpSegsum](../../math/segsum/docs/aclnnExpSegsum.md)的反向计算。 | 默认确定性实现| - | | 130 | | [aclnnExpSegsumBackward](../../math/exp_segsum_grad/docs/aclnnExpSegsumBackward.md) | [aclnnExpSegsum](../../math/segsum/docs/aclnnExpSegsum.md)的反向计算。 | 默认确定性实现| - | |
| 131 | | [aclnnEye](../../math/eye/docs/aclnnEye.md) | 返回一个二维张量,该张量的对角线上元素值为1,其余元素值为0。 | 默认确定性实现| 默认确定性实现 | | 131 | | [aclnnEye](../../math/eye/docs/aclnnEye.md) | 返回一个二维张量,该张量的对角线上元素值为1,其余元素值为0。 | 默认确定性实现| 默认确定性实现 | |
| 132 | | [aclnnFlatten](../../conversion/flatten/docs/aclnnFlatten.md) | 将输入Tensor,基于给定的axis,扁平化为一个2D的Tensor。 | 默认确定性实现| 默认确定性实现| | 132 | | [aclnnFlatten](../../conversion/flatten/docs/aclnnFlatten.md) | 将输入Tensor,基于给定的axis,扁平化为一个2D的Tensor。 | 默认确定性实现| 默认确定性实现| |
| @@ -1684,7 +1684,7 @@ | |||
| 1684 | <td>√</td> | 1684 | <td>√</td> |
| 1685 | <td>×</td> | 1685 | <td>×</td> |
| 1686 | <td>AI Core</td> | 1686 | <td>AI Core</td> |
| 1687 | - <td>进行分段和计算。生成对角线为0的半可分矩阵,且上三角为-inf。</td> | 1687 | + <td>进行分段和计算。生成对角线为1、上三角为0的半可分矩阵。</td> |
| 1688 | </tr> | 1688 | </tr> |
| 1689 | <tr> | 1689 | <tr> |
| 1690 | <td>math</td> | 1690 | <td>math</td> |
| @@ -10,12 +10,12 @@ | |||
| 10 | | <term>Atlas 200I/500 A2 推理产品</term> | × | | 10 | | <term>Atlas 200I/500 A2 推理产品</term> | × | |
| 11 | | <term>Atlas 推理系列产品</term> | × | | 11 | | <term>Atlas 推理系列产品</term> | × | |
| 12 | | <term>Atlas 训练系列产品</term> | × | | 12 | | <term>Atlas 训练系列产品</term> | × | |
| 13 | -| <term>Kirin X90 处理器系列产品</term> | √ | | 13 | +| <term>Kirin X90 处理器系列产品</term> | √ | |
| 14 | | <term>Kirin 9030 处理器系列产品</term> | √ | | 14 | | <term>Kirin 9030 处理器系列产品</term> | √ | |
| 15 | 15 | ||
| 16 | ## 功能说明 | 16 | ## 功能说明 |
| 17 | 17 | ||
| 18 | -- 算子功能:进行分段和计算。生成对角线为0的半可分矩阵,且上三角为-inf。 | 18 | +- 算子功能:进行分段和计算。生成对角线为1、上三角为0的半可分矩阵。 |
| 19 | - 计算公式(以4D输入为例): | 19 | - 计算公式(以4D输入为例): |
| 20 | 20 | ||
| 21 | 1. 输入self由(N1,N2,N3,N4)升维成(N1,N2,N3,N4,1)。 | 21 | 1. 输入self由(N1,N2,N3,N4)升维成(N1,N2,N3,N4,1)。 |
| @@ -28,13 +28,14 @@ | |||
| 28 | \begin{cases}self_i,\quad A_i==False | 28 | \begin{cases}self_i,\quad A_i==False |
| 29 | \\0, \quad A_i==True | 29 | \\0, \quad A_i==True |
| 30 | \end{cases} | 30 | \end{cases} |
| 31 | - $$ | 31 | + $$ |
| 32 | 32 | ||
| 33 | 5. 以self的倒数第二维进行cumsum累加。从维度视角来看的某个元素(其它维度下标不变,当前维度下标依次递增),$selfTemp\_{i}$是输出张量中对应位置的元素。 | 33 | 5. 以self的倒数第二维进行cumsum累加。从维度视角来看的某个元素(其它维度下标不变,当前维度下标依次递增),$selfTemp\_{i}$是输出张量中对应位置的元素。 |
| 34 | 34 | ||
| 35 | $$ | 35 | $$ |
| 36 | selfTemp_{i} = self_{1} + self_{2} + self_{3} + ...... + self_{i} | 36 | selfTemp_{i} = self_{1} + self_{2} + self_{3} + ...... + self_{i} |
| 37 | $$ | 37 | $$ |
| 38 | + | ||
| 38 | 6. 生成(N4,N4)类型为bool的三角矩阵B,上三角为True,下三角为False,对角线为False。 | 39 | 6. 生成(N4,N4)类型为bool的三角矩阵B,上三角为True,下三角为False,对角线为False。 |
| 39 | 7. 用-inf填充selfTemp里面与矩阵B中值为True的位置相对应的元素。 | 40 | 7. 用-inf填充selfTemp里面与矩阵B中值为True的位置相对应的元素。 |
| 40 | 41 | ||
| @@ -43,7 +44,7 @@ | |||
| 43 | \begin{cases}selfTemp_i,\quad B_i==False | 44 | \begin{cases}selfTemp_i,\quad B_i==False |
| 44 | \\-inf, \quad B_i==True | 45 | \\-inf, \quad B_i==True |
| 45 | \end{cases} | 46 | \end{cases} |
| 46 | - $$ | 47 | + $$ |
| 47 | 48 | ||
| 48 | 8. 计算selfTemp里面每个元素的指数。 | 49 | 8. 计算selfTemp里面每个元素的指数。 |
| 49 | 50 | ||
| @@ -85,7 +86,7 @@ | |||
| 85 | </tr> | 86 | </tr> |
| 86 | </tbody></table> | 87 | </tbody></table> |
| 87 | 88 | ||
| 88 | -- Kirin X90/Kirin 9030 处理器系列产品: 不支持BFLOAT16。 | 89 | +- Kirin X90/Kirin 9030 处理器系列产品:不支持BFLOAT16。 |
| 89 | 90 | ||
| 90 | ## 约束说明 | 91 | ## 约束说明 |
| 91 | 92 | ||
| @@ -15,7 +15,7 @@ | |||
| 15 | 15 | ||
| 16 | ## 功能说明 | 16 | ## 功能说明 |
| 17 | 17 | ||
| 18 | -- 接口功能:进行分段和计算。生成对角线为0的半可分矩阵,且上三角为-inf。 | 18 | +- 接口功能:进行分段和计算。生成对角线为1、上三角为0的半可分矩阵。 |
| 19 | - 计算公式(以4D输入为例): | 19 | - 计算公式(以4D输入为例): |
| 20 | 20 | ||
| 21 | 1. 输入self由(N1,N2,N3,N4)升维成(N1,N2,N3,N4,1)。 | 21 | 1. 输入self由(N1,N2,N3,N4)升维成(N1,N2,N3,N4,1)。 |
| @@ -29,11 +29,13 @@ | |||
| 29 | \\0, \quad A_i==True | 29 | \\0, \quad A_i==True |
| 30 | \end{cases} | 30 | \end{cases} |
| 31 | $$ | 31 | $$ |
| 32 | + | ||
| 32 | 5. 以self的倒数第二维进行cumsum累加。从维度视角来看的某个元素(其它维度下标不变,当前维度下标依次递增),$selfTemp\_{i}$是输出张量中对应位置的元素。 | 33 | 5. 以self的倒数第二维进行cumsum累加。从维度视角来看的某个元素(其它维度下标不变,当前维度下标依次递增),$selfTemp\_{i}$是输出张量中对应位置的元素。 |
| 33 | 34 | ||
| 34 | $$ | 35 | $$ |
| 35 | selfTemp_{i} = self_{1} + self_{2} + self_{3} + ...... + self_{i} | 36 | selfTemp_{i} = self_{1} + self_{2} + self_{3} + ...... + self_{i} |
| 36 | $$ | 37 | $$ |
| 38 | + | ||
| 37 | 6. 生成(N4,N4)类型为bool的三角矩阵B,上三角为True,下三角为False,对角线为False。 | 39 | 6. 生成(N4,N4)类型为bool的三角矩阵B,上三角为True,下三角为False,对角线为False。 |
| 38 | 7. 用-inf填充selfTemp里面与矩阵B中值为True的位置相对应的元素。 | 40 | 7. 用-inf填充selfTemp里面与矩阵B中值为True的位置相对应的元素。 |
| 39 | 41 | ||
| @@ -42,13 +44,14 @@ | |||
| 42 | \begin{cases}selfTemp_i,\quad B_i==False | 44 | \begin{cases}selfTemp_i,\quad B_i==False |
| 43 | \\-inf, \quad B_i==True | 45 | \\-inf, \quad B_i==True |
| 44 | \end{cases} | 46 | \end{cases} |
| 45 | - $$ | 47 | + $$ |
| 48 | + | ||
| 46 | 8. 计算selfTemp里面每个元素的指数。 | 49 | 8. 计算selfTemp里面每个元素的指数。 |
| 47 | 50 | ||
| 48 | $$ | 51 | $$ |
| 49 | out_i=e^{selfTemp_i} | 52 | out_i=e^{selfTemp_i} |
| 50 | $$ | 53 | $$ |
| 51 | - | 54 | + |
| 52 | ## 函数原型 | 55 | ## 函数原型 |
| 53 | 56 | ||
| 54 | 每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnExpSegsumGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnExpSegsum”接口执行计算。 | 57 | 每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnExpSegsumGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnExpSegsum”接口执行计算。 |
| @@ -141,7 +144,7 @@ aclnnStatus aclnnExpSegsum( | |||
| 141 | - **返回值**: | 144 | - **返回值**: |
| 142 | 145 | ||
| 143 | aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 | 146 | aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 |
| 144 | - | 147 | + |
| 145 | 第一段接口完成入参校验,出现以下场景时报错: | 148 | 第一段接口完成入参校验,出现以下场景时报错: |
| 146 | 149 | ||
| 147 | <table style="undefined;table-layout: fixed;width: 1170px"><colgroup> | 150 | <table style="undefined;table-layout: fixed;width: 1170px"><colgroup> |
| @@ -163,8 +166,8 @@ aclnnStatus aclnnExpSegsum( | |||
| 163 | <td>传入的self或out是空指针。</td> | 166 | <td>传入的self或out是空指针。</td> |
| 164 | </tr> | 167 | </tr> |
| 165 | <tr> | 168 | <tr> |
| 166 | - <td rowspan="4">ACLNN_ERR_PARAM_INVALID</td> | 169 | + <td rowspan="2">ACLNN_ERR_PARAM_INVALID</td> |
| 167 | - <td rowspan="4">161002</td> | 170 | + <td rowspan="2">161002</td> |
| 168 | <td>self、out的数据类型不在支持的范围之内。</td> | 171 | <td>self、out的数据类型不在支持的范围之内。</td> |
| 169 | </tr> | 172 | </tr> |
| 170 | <tr> | 173 | <tr> |
| @@ -175,7 +178,7 @@ aclnnStatus aclnnExpSegsum( | |||
| 175 | ## aclnnExpSegsum | 178 | ## aclnnExpSegsum |
| 176 | 179 | ||
| 177 | - **参数说明**: | 180 | - **参数说明**: |
| 178 | - | 181 | + |
| 179 | <table style="undefined;table-layout: fixed; width: 1149px"><colgroup> | 182 | <table style="undefined;table-layout: fixed; width: 1149px"><colgroup> |
| 180 | <col style="width: 167px"> | 183 | <col style="width: 167px"> |
| 181 | <col style="width: 134px"> | 184 | <col style="width: 134px"> |
| @@ -17,19 +17,19 @@ | |||
| 17 | - 计算公式: | 17 | - 计算公式: |
| 18 | 18 | ||
| 19 | - 当normalized=false时: | 19 | - 当normalized=false时: |
| 20 | - | 20 | + |
| 21 | $$ | 21 | $$ |
| 22 | X[w,m]=\sum_{k=0}^{winLength-1}window[k]*self[m*hopLength+k]*exp(-j*\frac{2{\pi}wk}{nFft}) | 22 | X[w,m]=\sum_{k=0}^{winLength-1}window[k]*self[m*hopLength+k]*exp(-j*\frac{2{\pi}wk}{nFft}) |
| 23 | $$ | 23 | $$ |
| 24 | 24 | ||
| 25 | - 当normalized=true时: | 25 | - 当normalized=true时: |
| 26 | - | 26 | + |
| 27 | $$ | 27 | $$ |
| 28 | X[w,m]=\frac{1}{\sqrt{nFft}}(\sum_{k=0}^{winLength-1}window[k]*self[m*hopLength+k]*exp(-j*\frac{2{\pi}wk}{nFft})) | 28 | X[w,m]=\frac{1}{\sqrt{nFft}}(\sum_{k=0}^{winLength-1}window[k]*self[m*hopLength+k]*exp(-j*\frac{2{\pi}wk}{nFft})) |
| 29 | $$ | 29 | $$ |
| 30 | 30 | ||
| 31 | 其中: | 31 | 其中: |
| 32 | - | 32 | + |
| 33 | - $w$为FFT的频点。 | 33 | - $w$为FFT的频点。 |
| 34 | - $m$为滑动窗口的index。 | 34 | - $m$为滑动窗口的index。 |
| 35 | - $self$为1维或2维Tensor,当$self$是1维时,其为一个时序采样序列,当$self$是2维时,其为多个时序采样序列。 | 35 | - $self$为1维或2维Tensor,当$self$是1维时,其为一个时序采样序列,当$self$是2维时,其为多个时序采样序列。 |
| @@ -206,7 +206,7 @@ aclnnStatus aclStft( | |||
| 206 | - **返回值:** | 206 | - **返回值:** |
| 207 | 207 | ||
| 208 | aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 | 208 | aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 |
| 209 | - | 209 | + |
| 210 | 第一段接口完成入参校验,出现以下场景时报错: | 210 | 第一段接口完成入参校验,出现以下场景时报错: |
| 211 | 211 | ||
| 212 | <table style="undefined;table-layout: fixed;width: 1170px"><colgroup> | 212 | <table style="undefined;table-layout: fixed;width: 1170px"><colgroup> |
| @@ -295,7 +295,7 @@ aclnnStatus aclStft( | |||
| 295 | 295 | ||
| 296 | - 输入self与PyTorch接口的不同:PyTorch接口的输入self为原始输入;aclStftGetWorkspaceSize的入参self是原始输入经过前端PyTorch补pad后得到的结果。 | 296 | - 输入self与PyTorch接口的不同:PyTorch接口的输入self为原始输入;aclStftGetWorkspaceSize的入参self是原始输入经过前端PyTorch补pad后得到的结果。 |
| 297 | - 当输入self的shape为[B, L]时,如下公式的计算结果较大时,当前接口的计算可能会超时。 | 297 | - 当输入self的shape为[B, L]时,如下公式的计算结果较大时,当前接口的计算可能会超时。 |
| 298 | - | 298 | + |
| 299 | $$ | 299 | $$ |
| 300 | B * ((L - nFft) / hopLength + 1) * nFft | 300 | B * ((L - nFft) / hopLength + 1) * nFft |
| 301 | $$ | 301 | $$ |
| @@ -303,13 +303,13 @@ aclnnStatus aclStft( | |||
| 303 | - nFft <= L。 | 303 | - nFft <= L。 |
| 304 | - winLength <= nFft。 | 304 | - winLength <= nFft。 |
| 305 | - 当normalized=True时, | 305 | - 当normalized=True时, |
| 306 | - | 306 | + |
| 307 | $$ | 307 | $$ |
| 308 | STFT(w,m)=\frac{1}{\sqrt{N}}X[w,m] | 308 | STFT(w,m)=\frac{1}{\sqrt{N}}X[w,m] |
| 309 | $$ | 309 | $$ |
| 310 | 310 | ||
| 311 | - self、windowOptional、returnComplex、out输入和输出数据类型的对应关系如下: | 311 | - self、windowOptional、returnComplex、out输入和输出数据类型的对应关系如下: |
| 312 | - | 312 | + |
| 313 | |self|windowOptional|returnComplex|out| | 313 | |self|windowOptional|returnComplex|out| |
| 314 | |-------|-------|-------|-------| | 314 | |-------|-------|-------|-------| |
| 315 | |FLOAT32| FLOAT32 | True | COMPLEX64 | | 315 | |FLOAT32| FLOAT32 | True | COMPLEX64 | |