已合并
modified md files #3988
gitee-duhuiping创建于 7月10日
modified md files #3988
已合并
gitee-duhuiping创建于 7月10日
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的半可分矩阵,且上三角为-inf18+- 算子功能:进行分段和计算。生成对角线为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==False28 \begin{cases}self_i,\quad A_i==False
29 \\0, \quad A_i==True29 \\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==False44 \begin{cases}selfTemp_i,\quad B_i==False
44 \\-inf, \quad B_i==True45 \\-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的半可分矩阵,且上三角为-inf18+- 接口功能:进行分段和计算。生成对角线为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==True29 \\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==False44 \begin{cases}selfTemp_i,\quad B_i==False
43 \\-inf, \quad B_i==True45 \\-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## aclnnExpSegsum178## 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) * nFft300 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 |