| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
md大模型检测低错修复 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !9420 merge master into master md大模型检测低错修复 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> md aidd大模型检测低错修复 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5254 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> acl*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9420 | 1 个月前 | |
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 | 2 个月前 | |
fix: migrate simple onnx parse params plugins Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !9161 merge onnx-fix-0825 into master fix: migrate simple onnx parse params plugins Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将一批 ONNX 插件的参数解析接口从 ParseParamsFn 迁移到 ParseParamsByOperatorFn,实现onnx插件和protobuf的解耦 涉及算子: - Mish - FastGelu - Size - Elu - LeakyRelu - HardMax 【实现说明】 - 无属性或仅默认属性的算子,直接切换新注册接口。 - 对 Elu、LeakyRelu、HardMax,从 ge::Operator 的 attribute JSON 中解析 ONNX 属性。 - 保留旧逻辑中的默认值行为。 - 对缺失或非数组形式的 attribute JSON 增加保护,避免无属性场景误返回 FAILED。 ## 关联的Issue Issue #5115 ## 测试 onnx插件ut编译、执行通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!9161 | 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 个月前 | |
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 | 2 个月前 | |
feat: 增加 ascend350 平台支持(25 个激活/量化算子)并重构 SocVersion 判断为 NpuArch Co-authored-by: wenqi_wu<wenqiwu0628@163.com> # message auto-generated for no-merge-commit merge: !9834 merge support-ascend350-activation-ops into master feat: 增加 ascend350 平台支持(25 个激活/量化算子)并重构 SocVersion 判断为 NpuArch Created-by: wenqi_wu Commit-by: wenqi_wu Merged-by: cann-robot Description: ## 描述 为以下 25 个算子增加 ascend350(arch35)平台支持,并将 7 个 aclnn 接口的 SocVersion 判断重构为 NpuArch 判断。 **算子列表(ascend350 支持,25 个):** - 量化类:AscendQuant / AscendAntiQuant / Quantize(quant) - Elu / EluGrad / EluGradV2(activation) - FastGelu / FastGeluGrad - Gelu / GeluGrad / GeluV2 / GeluGradV2 - ReluGrad / ReluGradV2 / ReluV2 - LeakyReluGrad - SigmoidGrad / SiluGrad - Swish / SwishGrad - HardtanhGrad - Mish / MishGrad - LogSigmoid / LogSigmoidGrad 注:LeakyRelu 的 ascend350 支持已由上游先行合入,本 PR 不含其重复改动。 **改动内容:** 1. 算子 CMakeLists.txt:SUPPORT_COMPUTE_UNIT 追加 ascend350,SUPPORT_TILING_DIR 追加对应 arch35; 2. op_host/*_def.cpp:为每个算子追加 this->AICore().AddConfig("ascend350", ...); 3. 新增 op_host/config/ascend350/*_binary.json 二进制配置文件; 4. scripts/kernel/binary_config/ascendc_config.json:为上述算子增加 ascend350 的 compute_units 与 compile_options(AscendAntiQuant 上游本无条目,走默认编译选项); 5. op_api 中 SocVersion → NpuArch 重构(7 处): - aclnn_rrelu_with_noise.cpp:GenerateUniformRandom 中平台判断改为 GetCurNpuArch() == NpuArch::DAV_2201(语义等价,910B/910_93 均对应 DAV_2201); - aclnn_sigmoid_backward.cpp / aclnn_swish_backward.cpp / aclnn_gelu_v2.cpp:CheckSocVersionIsSupportBf16 改为 curArch == NpuArch::DAV_2201 || IsRegbase(curArch); - aclnn_sigmoid.cpp:CheckSocVersionIsSupportBf16 与 GetSelfRefDtypeList 改为 curArch == NpuArch::DAV_2201 || IsRegbase(curArch); - aclnn_binary_cross_entropy_with_logits_target_backward.cpp:GetDtypeSupportList 改为 NpuArch 判断; - aclnn_logsigmoid_backward.cpp:GetInputDtypeSupportList / GetOutputDtypeSupportList 改为 NpuArch 判断。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5538 ## 测试 <!--TODO--> ## 文档更新 无需更新文档 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其它(请说明) ## AI/Agent辅助编译 - [x] AI辅助编写 See merge request: cann/ops-nn!9834 | 17 天前 | |
MicroAPI namespace to Reg for arch35 kernels Co-authored-by: gcw_DS4cmz2b<1312925094@qq.com> # message auto-generated for no-merge-commit merge: !9267 merge rename into master MicroAPI namespace to Reg for arch35 kernels Created-by: gcw_DS4cmz2b Commit-by: gcw_DS4cmz2b Merged-by: cann-robot Description: ## 描述 修改了index,activation,matmul,conv,foreach,optim,experimental,vfusion,hash这几个文件夹内的命名空间,将MicroAPI-->Reg ## 关联的Issue [多个文件夹内的算子命名空间使用的MicroAPI,应改为Reg](https://gitcode.com/cann/ops-nn/issues/5218) ## 测试 验证方法 严格按四步流程,逐算子验证: 1. Step 1:编译原始代码,保存 baseline binary .o 文件 MD5 2. Step 2:执行 MicroAPI → Reg 替换 3. Step 3:编译替换后代码,保存 after binary .o 文件 MD5 4. Step 4:对比 A_before.md5 与 B_after.md5 平台:ascend950,编译参数:--soc=ascend950 --ops=<op> -j16 验证替换前后 binary 产物 MD5 完全一致。 冒烟,代码审查均通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9267 | 1 个月前 | |
fix: migrate simple onnx parse params plugins Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !9161 merge onnx-fix-0825 into master fix: migrate simple onnx parse params plugins Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将一批 ONNX 插件的参数解析接口从 ParseParamsFn 迁移到 ParseParamsByOperatorFn,实现onnx插件和protobuf的解耦 涉及算子: - Mish - FastGelu - Size - Elu - LeakyRelu - HardMax 【实现说明】 - 无属性或仅默认属性的算子,直接切换新注册接口。 - 对 Elu、LeakyRelu、HardMax,从 ge::Operator 的 attribute JSON 中解析 ONNX 属性。 - 保留旧逻辑中的默认值行为。 - 对缺失或非数组形式的 attribute JSON 增加保护,避免无属性场景误返回 FAILED。 ## 关联的Issue Issue #5115 ## 测试 onnx插件ut编译、执行通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!9161 | 1 个月前 | |
feat: 增加 ascend350 平台支持(25 个激活/量化算子)并重构 SocVersion 判断为 NpuArch Co-authored-by: wenqi_wu<wenqiwu0628@163.com> # message auto-generated for no-merge-commit merge: !9834 merge support-ascend350-activation-ops into master feat: 增加 ascend350 平台支持(25 个激活/量化算子)并重构 SocVersion 判断为 NpuArch Created-by: wenqi_wu Commit-by: wenqi_wu Merged-by: cann-robot Description: ## 描述 为以下 25 个算子增加 ascend350(arch35)平台支持,并将 7 个 aclnn 接口的 SocVersion 判断重构为 NpuArch 判断。 **算子列表(ascend350 支持,25 个):** - 量化类:AscendQuant / AscendAntiQuant / Quantize(quant) - Elu / EluGrad / EluGradV2(activation) - FastGelu / FastGeluGrad - Gelu / GeluGrad / GeluV2 / GeluGradV2 - ReluGrad / ReluGradV2 / ReluV2 - LeakyReluGrad - SigmoidGrad / SiluGrad - Swish / SwishGrad - HardtanhGrad - Mish / MishGrad - LogSigmoid / LogSigmoidGrad 注:LeakyRelu 的 ascend350 支持已由上游先行合入,本 PR 不含其重复改动。 **改动内容:** 1. 算子 CMakeLists.txt:SUPPORT_COMPUTE_UNIT 追加 ascend350,SUPPORT_TILING_DIR 追加对应 arch35; 2. op_host/*_def.cpp:为每个算子追加 this->AICore().AddConfig("ascend350", ...); 3. 新增 op_host/config/ascend350/*_binary.json 二进制配置文件; 4. scripts/kernel/binary_config/ascendc_config.json:为上述算子增加 ascend350 的 compute_units 与 compile_options(AscendAntiQuant 上游本无条目,走默认编译选项); 5. op_api 中 SocVersion → NpuArch 重构(7 处): - aclnn_rrelu_with_noise.cpp:GenerateUniformRandom 中平台判断改为 GetCurNpuArch() == NpuArch::DAV_2201(语义等价,910B/910_93 均对应 DAV_2201); - aclnn_sigmoid_backward.cpp / aclnn_swish_backward.cpp / aclnn_gelu_v2.cpp:CheckSocVersionIsSupportBf16 改为 curArch == NpuArch::DAV_2201 || IsRegbase(curArch); - aclnn_sigmoid.cpp:CheckSocVersionIsSupportBf16 与 GetSelfRefDtypeList 改为 curArch == NpuArch::DAV_2201 || IsRegbase(curArch); - aclnn_binary_cross_entropy_with_logits_target_backward.cpp:GetDtypeSupportList 改为 NpuArch 判断; - aclnn_logsigmoid_backward.cpp:GetInputDtypeSupportList / GetOutputDtypeSupportList 改为 NpuArch 判断。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5538 ## 测试 <!--TODO--> ## 文档更新 无需更新文档 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其它(请说明) ## AI/Agent辅助编译 - [x] AI辅助编写 See merge request: cann/ops-nn!9834 | 17 天前 | |
Label the chip Co-authored-by: zhouwenfang<zhouwenfang3@h-partners.com> # message auto-generated for no-merge-commit merge: !7823 merge master into master Label the chip Created-by: zhouwenfang Commit-by: zhouwenfang Merged-by: cann-robot Description: ## 描述 Label the chip ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4245 ## 测试 NA ## 文档更新 activation目录所有的aclnn.md文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7823 | 2 个月前 |
Mish
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | √ |
功能说明
-
算子功能:一个自正则化的非单调神经网络激活函数。
-
计算公式:
outi=selfi×tanh(Softplus(selfi))out_i = self_i \times \tanh(\mathrm{Softplus}(\mathrm{self}_i)) outi=selfi×tanh(Softplus(selfi))
其中,Softplus(selfi)=ln(1+exp(selfi))\mathrm{Softplus}(self_i) = \ln{(1 + \exp{(self_i)})}Softplus(selfi)=ln(1+exp(selfi))
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| self | 输入 | 待进行Mish激活计算的入参,对应计算公式中的self。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| out | 输出 | Mish激活计算的出参,对应计算公式中的out。 | FLOAT、FLOAT16、BFLOAT16 | ND |
- Atlas 训练系列产品:数据类型支持FLOAT、FLOAT16。
约束说明
- 输入shape限制:输入维度不能超过8维,仅支持0-8维。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_mish | 通过aclnnMish&aclnnInplaceMish接口方式调用Mish算子。 |
| aclnn调用 | test_aclnn_inplace_mish | 通过aclnnMish&aclnnInplaceMish接口方式调用Mish算子。 |
| 图模式 | - | 通过算子IR构图方式调用Mish算子。 |