| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 3 个月前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 3 个月前 | |
个人-AscendC实现CrossEntropyGrad算子贡献 Co-authored-by: xiaopei-1<1550747408@qq.com> # message auto-generated for no-merge-commit merge: !4913 merge feat/CrossEGrad into master 个人-AscendC实现CrossEntropyGrad算子贡献 Created-by: xiaopei-1 Commit-by: xiaopei-1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 使用AscendC对TBE实现的CrossEntropyGrad算子进行重构,实现了AscendC实现的算子对Atlas 200/500 A2推理产品和Atlas 800I/T A2硬件的适配。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联的Issue:https://gitcode.com/cann/ops-nn/issues/2512 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 采用aclnn调用测试  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4913 | 3 个月前 | |
feat(experimental): add GaussianNLLLoss operator Co-authored-by: shi-xiangyang225<2678490361@qq.com> # message auto-generated for no-merge-commit merge: !7975 merge feature/gaussian_nll_loss into master feat(experimental): add GaussianNLLLoss operator Created-by: shi-xiangyang225 Commit-by: shi-xiangyang225 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 使用AscendC实现了GaussianNLLLoss 算子,实现了AscendC实现的GaussianNLLLoss 算子对Atlas 200/500 A2推理产品和Atlas 800I/T A2硬件的适配 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#4291](https://gitcode.com/cann/ops-nn/issues/4291) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 采用aclnn调用测试  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7975 | 2 个月前 | |
feat(experimental): add GaussianNLLLossGrad operator Co-authored-by: shi-xiangyang225<2678490361@qq.com> # message auto-generated for no-merge-commit merge: !7976 merge feature/gaussian_nll_loss_grad into master feat(experimental): add GaussianNLLLossGrad operator Created-by: shi-xiangyang225 Commit-by: shi-xiangyang225 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 使用AscendC实现了GaussianNLLLossGrad 算子,实现了AscendC实现的GaussianNLLLossGrad 算子对Atlas 200/500 A2推理产品和Atlas 800I/T A2硬件的适配 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#4292](https://gitcode.com/cann/ops-nn/issues/4292) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 采用aclnn调用测试  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7976 | 2 个月前 | |
feat(experimental): add HingeEmbeddingLoss operator Co-authored-by: shi-xiangyang225<2678490361@qq.com> # message auto-generated for no-merge-commit merge: !7907 merge feature/hinge_embedding_loss into master feat(experimental): add HingeEmbeddingLoss operator Created-by: shi-xiangyang225 Commit-by: shi-xiangyang225 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 使用AscendC实现了HingeEmbeddingLoss 算子,实现了AscendC实现的HingeEmbeddingLoss 算子对Atlas 200/500 A2推理产品和Atlas 800I/T A2硬件的适配 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#4290](https://gitcode.com/cann/ops-nn/issues/4290) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 采用aclnn调用测试  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7907 | 2 个月前 | |
feat: add experimental HingeLoss operator Co-authored-by: shi-xiangyang225<2678490361@qq.com> # message auto-generated for no-merge-commit merge: !7892 merge feature/hinge_loss into master feat: add experimental HingeLoss operator Created-by: shi-xiangyang225 Commit-by: shi-xiangyang225 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 使用AscendC实现了HingeLoss 算子,实现了AscendC实现的HingeLoss 算子对Atlas 200/500 A2推理产品和Atlas 800I/T A2硬件的适配 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#4289](https://gitcode.com/cann/ops-nn/issues/4289) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 采用aclnn调用测试  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7892 | 2 个月前 | |
docs目录基本概念md中文名改为英文名 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !7857 merge master into master docs目录基本概念md中文名改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao;chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7857 | 2 个月前 | |
feat(experimental): add HuberLoss operator Co-authored-by: shi-xiangyang225<2678490361@qq.com> # message auto-generated for no-merge-commit merge: !7904 merge feature/huber_loss into master feat(experimental): add HuberLoss operator Created-by: shi-xiangyang225 Commit-by: shi-xiangyang225 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 使用AscendC实现了HuberLoss 算子,实现了AscendC实现的HuberLoss 算子对Atlas 200/500 A2推理产品和Atlas 800I/T A2硬件的适配 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#4288](https://gitcode.com/cann/ops-nn/issues/4288) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 采用aclnn调用测试  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7904 | 2 个月前 | |
个人-AscendC实现HuberLossGrad 算子贡献 Co-authored-by: xiaopei-1<1550747408@qq.com> # message auto-generated for no-merge-commit merge: !4758 merge feat/HLossGrad into master 个人-AscendC实现HuberLossGrad 算子贡献 Created-by: xiaopei-1 Commit-by: xiaopei-1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 使用AscendC对TBE实现的HuberLossGrad算子进行重构,实现了AscendC实现的算子对Atlas 200/500 A2推理产品和Atlas 800I/T A2硬件的适配。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联的Issue:https://gitcode.com/cann/ops-nn/issues/2511 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 采用aclnn调用测试  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4758 | 2 个月前 | |
docs目录基本概念md中文名改为英文名 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !7857 merge master into master docs目录基本概念md中文名改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao;chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7857 | 2 个月前 | |
docs目录基本概念md中文名改为英文名 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !7857 merge master into master docs目录基本概念md中文名改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao;chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7857 | 2 个月前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 3 个月前 | |
docs目录基本概念md中文名改为英文名 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !7857 merge master into master docs目录基本概念md中文名改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao;chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7857 | 2 个月前 | |
feat: 实现 MseLoss 算子 Co-authored-by: ji096929<2455742327@qq.com> # message auto-generated for no-merge-commit merge: !7383 merge MseLoss into master 【社区任务】实现 MseLoss 算子 Created-by: ji096929 Commit-by: ji096929 Merged-by: cann-robot Description: # MseLoss ## 产品支持情况 | 产品 | 是否支持 | | ---- | :----: | | <term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term> | √ | | <term>Atlas A2 训练系列产品/Atlas A2 推理系列产品</term> | √ | ## 功能说明 - 算子功能:计算输入 predict 和目标 label 逐元素平方误差,并根据 reduction 输出不缩减、求和或求均值结果。 - 计算公式: $$ loss_i = (predict_i - label_i)^2 $$ $$ y = \begin{cases} loss_i, & reduction = none \\ \sum_{i=0}^{N-1} loss_i, & reduction = sum \\ \frac{1}{N}\sum_{i=0}^{N-1} loss_i, & reduction = mean \end{cases} $$ ## 参数说明 <table style="undefined;table-layout: fixed; width: 980px"><colgroup> <col style="width: 100px"> <col style="width: 150px"> <col style="width: 280px"> <col style="width: 330px"> <col style="width: 120px"> </colgroup> <thead> <tr> <th>参数名</th> <th>输入/输出/属性</th> <th>描述</th> <th>数据类型</th> <th>数据格式</th> </tr></thead> <tbody> <tr> <td>predict</td> <td>输入</td> <td>预测值张量,公式中的 predict。</td> <td>FLOAT16、FLOAT、BFLOAT16</td> <td>ND</td> </tr> <tr> <td>label</td> <td>输入</td> <td>目标值张量,公式中的 label。</td> <td>FLOAT16、FLOAT、BFLOAT16</td> <td>ND</td> </tr> <tr> <td>reduction</td> <td>属性</td> <td>损失缩减方式,可选值为 none、sum、mean,默认值为 mean。</td> <td>String</td> <td>-</td> </tr> <tr> <td>y</td> <td>输出</td> <td>输出 loss。reduction 为 none 时 shape 与输入一致;sum 或 mean 时为单元素输出。</td> <td>FLOAT16、FLOAT、BFLOAT16</td> <td>ND</td> </tr> </tbody></table> ## 约束说明 - predict、label、y 的数据类型必须一致。 - predict 与 label 的 shape 必须一致。 - reduction 仅支持 none、sum、mean。 - 当前实现不支持输入广播。 - 当前实现仅支持 ND 数据格式。 ## 调用说明 | 调用方式 | 调用样例 | 说明 | | ---- | ---- | ---- | | aclnn调用 | [test_aclnn_mse_loss.cpp](./examples/test_aclnn_mse_loss.cpp) | 通过 aclnnMseLossGetWorkspaceSize 和 aclnnMseLoss 两段式接口调用 MseLoss 算子。 | ## 参考资源 - [MseLoss 算子设计文档](./docs/mse_loss_design.md) ## 贡献说明 | 贡献者 | 贡献方 | 贡献算子 | 贡献时间 | 贡献内容 | | ---- | ---- | ---- | ---- | ---- | | ji096929 | 个人开发者 | MseLoss | 2026/07/09 | MseLoss算子适配开源仓 | See merge request: cann/ops-nn!7383 | 2 个月前 | |
AIDD扫描语义问题修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !9352 merge master into master AIDD扫描语义问题修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 AIDD扫描语义问题修改 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5254 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9352 | 1 个月前 | |
新增 NllLoss 算子实现 Co-authored-by: weixin_45448057<yth_yth@126.com> # message auto-generated for no-merge-commit merge: !7625 merge master into master 新增 NllLoss 算子实现 Created-by: weixin_45448057 Commit-by: weixin_45448057 Merged-by: cann-robot Description: # NllLoss ## 产品支持情况 |产品 | 是否支持 | |:-------------------------|:----------:| | <term>Atlas A3 训练系列 / Atlas A3 推理系列</term> | √ | | <term>Atlas A2 训练系列 / Atlas A2 推理系列</term> | √ | ## 功能说明 - 算子功能:计算负对数似然损失(Negative Log Likelihood Loss),常用于配合 LogSoftmax 完成多分类训练。 - 计算公式: 对每个样本 i,设其目标类别为 target_i。当 target_i 等于 ignore_index 时该样本不参与计算,否则: $$ loss_i = -weight[target_i] * x[i, target_i] $$ 当 reduction 为 none 时,逐样本输出: $$ y_i = loss_i $$ 当 reduction 为 sum 时: $$ y = \sum_i loss_i $$ 当 reduction 为 mean 时: $$ y = \frac{\sum_i loss_i}{\sum_i weight[target_i]} $$ 同时输出参与计算样本的权重之和: $$ total\_weight = \sum_i weight[target_i] $$ 其中当未提供 weight 时,各类别权重按 1 处理。 ## 参数说明 <table style="undefined;table-layout: fixed; width: 1576px"><colgroup> <col style="width: 170px"> <col style="width: 170px"> <col style="width: 310px"> <col style="width: 212px"> <col style="width: 100px"> </colgroup> <thead> <tr> <th>参数名</th> <th>输入/输出/属性</th> <th>描述</th> <th>数据类型</th> <th>数据格式</th> </tr></thead> <tbody> <tr> <td>x</td> <td>输入</td> <td>公式中的输入x,最后一维为类别数C,其余维度展平为样本数N。</td> <td>BFLOAT16、FLOAT16、FLOAT</td> <td>ND</td> </tr> <tr> <td>target</td> <td>输入</td> <td>公式中的输入target,每个样本的目标类别索引,元素个数为样本数N。</td> <td>INT32、INT64</td> <td>ND</td> </tr> <tr> <td>weight</td> <td>可选输入</td> <td>公式中的输入weight,各类别的权重,长度为C;未传入时权重按1处理。</td> <td>BFLOAT16、FLOAT16、FLOAT</td> <td>ND</td> </tr> <tr> <td>reduction</td> <td>可选属性</td> <td>公式中的输入reduction,指定损失函数的计算方式,支持 'none' | 'mean' | 'sum'。'none' 表示不应用归约,'mean' 表示损失的加权平均,'sum' 表示损失求和。默认为 'mean'。</td> <td>STRING</td> <td>-</td> </tr> <tr> <td>ignore_index</td> <td>可选属性</td> <td>公式中的输入ignore_index,指定被忽略且不参与损失计算的目标类别值。默认为 -100。</td> <td>INT64</td> <td>-</td> </tr> <tr> <td>y</td> <td>输出</td> <td>公式中的输出y。reduction 为 'none' 时形状与 target 一致,否则为标量。</td> <td>BFLOAT16、FLOAT16、FLOAT</td> <td>ND</td> </tr> <tr> <td>total_weight</td> <td>输出</td> <td>公式中的输出total_weight,参与计算样本的权重之和。</td> <td>BFLOAT16、FLOAT16、FLOAT</td> <td>ND</td> </tr> </tbody></table> ## 约束说明 - target 的取值需落在 [0, C) 区间内,或等于 ignore_index。 - x 的最后一维为类别数 C,target 的元素个数为样本数 N。 - 若传入 weight,其长度需与类别数 C 保持一致。 ## 调用说明 | 调用方式 | 调用样例 | 说明 | |---------|---------|------| | aclnn调用 | [test_aclnn_nll_loss](./examples/test_aclnn_nll_loss.cpp) | 通过[aclnnNLLLoss](./docs/aclnnNLLLoss.md)接口方式调用NllLoss算子。 | | aclnn调用 | - | 通过[aclnnNLLLoss2d](./docs/aclnnNLLLoss2d.md)接口方式调用NllLoss算子。 | ## 贡献说明 | 贡献者 | 贡献方 | 贡献算子 | 贡献时间 | 贡献内容 | | ---- | ---- | ---- | ---- | ---- | | weixin_45448057 | 个人开发者 | NllLoss | 2026/07/14 | NllLoss算子适配开源仓 | See merge request: cann/ops-nn!7625 | 2 个月前 | |
[Requirement|需求建议]: 【社区任务】NllLossGrad算子A2/A3 AscendC实现贡献 Co-authored-by: yangke<1723981822@qq.com> # message auto-generated for no-merge-commit merge: !8065 merge master into master [Requirement|需求建议]: 【社区任务】NllLossGrad算子A2/A3 AscendC实现贡献 Created-by: gcw_8p1hhlB0 Commit-by: gcw_8p1hhlB0;yangke Merged-by: cann-robot Description: ## 描述 通过西工大CANN暑期训练营社区任务完成 NLLLossGrad 算子的 AscendC 改造与性能优化,保持与现有 TBE 算子语义一致,已通过cann judge测试。 任务要求适配 Atlas A2 训练系列产品/Atlas A3 系列产品,性能在所有核参与计算场景下不低于原 TBE 算子的 95%。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4414 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8065 | 2 个月前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 1 个月前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 1 个月前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 1 个月前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 1 个月前 | |
将 experimental 下误用的 arch32 修正为 arch22 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !8954 merge arch32-fix-pooling into master 将 experimental 下误用的 arch32 修正为 arch22 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将experimental目录下误用arch32的算子目录、文件名及代码引用统一修正为 arch22 ## 关联的Issue Issue #4931 ## 测试 本地ut通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8954 | 1 个月前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 1 个月前 | |
fix(nn): release resources on init failure in aclnn examples and docs Co-authored-by: wangjun03<wangjun01@nuaa.edu.cn> # message auto-generated for no-merge-commit merge: !8693 merge fix/init-failure-resource-release-nn into master fix(nn): release resources on init failure in aclnn examples and docs Created-by: wangjun03 Commit-by: wangjun03 Merged-by: cann-robot Description: ## 描述 修复 NN/Transformer 类算子调用示例在初始化失败场景下资源释放不完整的问题。 - aclrtSetDevice 失败时,在返回前调用 aclFinalize,释放已初始化的 ACL 资源。 - aclrtCreateStream 失败时,在返回前依次调用 aclrtResetDevice 和 aclFinalize,释放已设置的 Device 及 ACL 资源。 - 保留原有 CHECK_RET 写法和正常执行路径的资源释放顺序。 - 同步修改文档示例和对应的可执行示例源码,保证两处代码一致。 本次修改参考仓库内 PR #8603(aclnnSoftmax)的修复方式,仅补齐资源释放逻辑,不涉及算子 Tiling、Kernel 和计算功能变更。 ## 涉及算子 ### activation(4 个算子,8 个文件) - **SoftmaxV2**:aclnnSoftmax - **LogSoftmaxV2**:aclnnLogSoftmax - **SoftmaxGrad**:aclnnSoftmaxBackward - **LogSoftmaxGrad**:aclnnLogSoftmaxBackward ### norm(23 个算子,56 个文件) - **GroupNormGrad**:aclnnGroupNormBackward - **LpNormV2**:aclnnLinalgVectorNorm、aclnnNorm - **LayerNormV4**:aclnnLayerNorm、aclnnFastLayerNorm - **LayerNormGradV3**:aclnnLayerNormBackward - **AddLayerNorm**:aclnnAddLayerNorm - **AddLayerNormQuant**:aclnnAddLayerNormQuant - **AddRmsNorm**:aclnnAddRmsNorm - **AddRmsNormCast**:aclnnAddRmsNormCast - **AddRmsNormQuant**:aclnnAddRmsNormQuant - **AddRmsNormDynamicQuant**:aclnnAddRmsNormDynamicQuant、aclnnAddRmsNormDynamicQuantV2 - **AddRmsNormDynamicMxQuant**:aclnnAddRmsNormDynamicMxQuant - **RmsNormDynamicMxQuant**:aclnnRmsNormDynamicMxQuant - **RmsNormGradQuant**:aclnnRmsNormGradQuant - **RmsNormQuantV3**:aclnnRmsNormQuantV3 - **BatchNormV3**:aclnnBatchNorm、aclnnBatchNormElemt - **BatchNormGradV3**:aclnnBatchNormBackward、aclnnFastBatchNormBackward - **RmsNorm**:aclnnRmsNorm - **RmsNormGrad**:aclnnRmsNormGrad - **InplaceAddRmsNorm**:aclnnInplaceAddRmsNorm - **SyncBatchNormBackwardElemt**:aclnnBatchNormElemtBackward - **SyncBatchNormBackwardReduce**:aclnnBatchNormReduceBackward - **SyncBatchNormGatherStats**:aclnnSyncBatchNormGatherStats ### experimental 镜像(8 个文件) - experimental/activation: LogSoftmaxV2 - experimental/loss: SoftmaxGrad - experimental/norm: SyncBatchNormBackwardElemt、SyncBatchNormBackwardReduce、SyncBatchNormGatherStats ## 关联的 Issue Issue #4745 ## 测试 - git diff --check:通过。 - 本次仅修改调用示例的异常处理逻辑,未执行 NPU 运行测试。 ## 文档更新 - 更新上述算子 docs/ 目录下的 aclnn*.md 中的调用示例。 - 同步更新 examples/ 目录下的 test_aclnn_*.cpp 可执行示例源码。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8693 | 1 个月前 | |
Format update: Adjusted the license description format in all relevant files. Co-authored-by: jiangqi<jiangqi47@h-partners.com> # message auto-generated for no-merge-commit merge: !366 merge license6 into master Format update: Adjusted the license description format in all relevant files. Created-by: jiangqi2025 Commit-by: jiangqi Merged-by: turing_project1 Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!366 | 9 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 9 个月前 |