文件最后提交记录最后更新时间
修改整个math仓doc tools修改 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !2280 merge 9.0.0 into 9.0.0 修改整个math仓doc tools修改 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改math仓的doc tools检测内容,修改markdown等语法 ## 关联的Issue 关联issue#1262 [https://gitcode.com/cann/ops-math/issues/1262](url) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新全部文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [X] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!22801 个月前
增加A2 A3新算子支持 Co-authored-by: slx2008<shaolixin@huawei.com> # message auto-generated for no-merge-commit merge: !448 merge master into master 增加A2 A3新算子支持 Created-by: songkai111 Commit-by: slx2008 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4485 个月前
set batchmode for syncall Co-authored-by: z30073777<zhaosusu1@h-partners.com> # message auto-generated for no-merge-commit merge: !886 merge master into master set batchmode for syncall Created-by: zhaosusu Commit-by: z30073777 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!8864 个月前
增加A2 A3新算子支持 Co-authored-by: slx2008<shaolixin@huawei.com> # message auto-generated for no-merge-commit merge: !448 merge master into master 增加A2 A3新算子支持 Created-by: songkai111 Commit-by: slx2008 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4485 个月前
修改变量名称blockDim为更符合语义的numBlocks Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !960 merge master into master 修改变量名称blockDim为更符合语义的numBlocks Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 将仓中所有算子,涉及使用blockDim命名变量的,全部修改为numBlocks ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/580 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!9603 个月前
增加A2 A3新算子支持 Co-authored-by: slx2008<shaolixin@huawei.com> # message auto-generated for no-merge-commit merge: !448 merge master into master 增加A2 A3新算子支持 Created-by: songkai111 Commit-by: slx2008 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4485 个月前
修改整个math仓doc tools修改 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !2280 merge 9.0.0 into 9.0.0 修改整个math仓doc tools修改 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改math仓的doc tools检测内容,修改markdown等语法 ## 关联的Issue 关联issue#1262 [https://gitcode.com/cann/ops-math/issues/1262](url) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新全部文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [X] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!22801 个月前
README.md

ExpSegsumGrad

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT ×
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 算子功能:Segsum的反向计算。

  • 计算公式(以5D输入为例):

    1. 输入gradOutput(N1,N2,N3,N4,N4)与输入gradSelf(正向的输出)相乘。

      out_mul=gradOutput∗gradSelfout\_mul = gradOutput * gradSelf

    2. 生成(N4,N4)类型为bool的三角矩阵A,上三角为True,下三角为False,对角线为True。

    3. 用0填充输入out_mulout\_mul里面与矩阵A中值为True的位置相对应的元素。

      out_muli={out_muli,Ai==False0,Ai==Trueout\_mul_i= \begin{cases}out\_mul_i,\quad A_i==False \\0, \quad A_i==True \end{cases}

    4. 对out_mul的倒数第二维进行倒序生成out_flip。

    5. out_flipout\_flip的倒数第二维进行cumsum累加。从维度视角来看的某个元素(其它维度下标不变,当前维度下标依次递增),out_cumsum_iout\_cumsum\_{i}是输出张量中对应位置的元素。

      out_cumsumi=out_flip1+out_flip2+out_flip3+......+out_flipiout\_cumsum_{i} = out\_flip_{1} + out\_flip_{2} + out\_flip_{3} + ...... + out\_flip_{i}

    6. out_cumsumout\_cumsum的-2维进行倒序生成out_flip2。

    7. 生成(N4,N4)类型为bool的三角矩阵B,上三角为True,下三角为False,对角线为True。

    8. 用0填充out_flip2out\_flip2里面与矩阵B中值为True的位置相对应的元素。

      out_flip2i={out_flip2i,Bi==False0,Bi==Trueout\_flip2_i= \begin{cases}out\_flip2_i,\quad B_i==False \\0, \quad B_i==True \end{cases}

    9. 返回gradInput为out_flip2最后一维每行的和。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
grad_output 输入 表示进行反向计算的梯度,对应公式中的`gradOutput`。输入维度支持4D或5D,且最后两维的维度大小相同。 FLOAT32、FLOAT16、BFLOAT16 ND
grad_self 输入 表示正向计算的输出,对应公式中的`gradSelf`。shape和数据类型与输入`grad_output`保持一致。 FLOAT32、FLOAT16、BFLOAT16 ND
grad_input 输出 表示反向计算的输出,对应公式中的`out`。输出维度必须比输入维度少一维,支持3D或4D。当输入`grad_output`为4D时,输出的维度大小与`grad_output`的前3维保持一致;当输入`grad_output`为5D时,输出的维度大小与`grad_output`的前4维保持一致。数据类型与输入`grad_output`保持一致。 FLOAT32、FLOAT16、BFLOAT16 ND

约束说明

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_exp_segsum_backward 通过aclnnExpSegsumBackward接口方式调用ExpSegsumGrad算子。