| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs(heaviside): 更新 Heaviside 算子 Ascend 950 产品支持情况及 op_api_list Co-authored-by: Coder_Nerd<shishuai5@huawei.com> # message auto-generated for no-merge-commit merge: !9179 merge docs/heaviside-op-api-support into master docs(heaviside): 更新 Heaviside 算子 Ascend 950 产品支持情况及 op_api_list Created-by: Coder_Nerd Commit-by: Coder_Nerd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Heaviside 算子 Ascend 950 产品支持情况及 op_api_list与算子实际支持情况不符合,Heaviside算子已经支持Ascend950,但是Heaviside 算子 Aclnn文档中 产品支持情况及 op_api_list文档未正确显示 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5127 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9179 | 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 个月前 | |
refactor: 将 hard_swish_grad/hard_swish_grad_v2/heaviside 的 op_api 从 op_host 迁移到算子根目录 Co-authored-by: luoyufan7<luoyufan7@h-partners.com> # message auto-generated for no-merge-commit merge: !9427 merge refactor/op-api-move-hardswish-heaviside into master refactor: 将 hard_swish_grad/hard_swish_grad_v2/heaviside 的 op_api 从 op_host 迁移到算子根目录 Created-by: luoyufan7 Commit-by: luoyufan7 Merged-by: cann-robot Description: ## 描述 将 activation/hard_swish_grad、hard_swish_grad_v2、heaviside 三个算子的 op_api 文件从 op_host 目录下迁移到算子根目录,删除 op_host/CMakeLists.txt,改为使用算子根目录的 add_modules_sources 机制。 ### 具体改动 - **hard_swish_grad**: op_host/op_api/ → op_api/,删除 op_host/CMakeLists.txt - **hard_swish_grad_v2**:op_host/op_api/ → op_api/,删除 op_host/CMakeLists.txt - **heaviside**:op_host/op_api/ → op_api/,删除 op_host/CMakeLists.txt ## 关联的Issue #5332 ## 测试 - 单算子包构建成功:bash build.sh --ops=hard_swish_grad,hard_swish_grad_v2,heaviside --soc=ascend910b --pkg - 安装后三个算子的 example 测试均运行成功(ascend910b 环境) - pre-commit 全部通过(含 OAT 合规检查) ## 文档更新 无 ## 类型标签 - [x] 重构 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9427 | 2 个月前 | |
代码同步 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !450 merge master into master 代码同步 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!450 | 10 个月前 | |
legacy下线:整改NN算子图模式注册与日志规范 Co-authored-by: zhouxuan78<zhouxuan78@huawei.com> # message auto-generated for no-merge-commit merge: !8388 merge master into master legacy下线:整改NN算子图模式注册与日志规范 Created-by: zhouxuan78 Commit-by: zhouxuan78 Merged-by: cann-robot Description: ## 描述 本 PR 用于 ops-nn 仓 Legacy 下线整改,补齐部分算子的直调/图模式注册、InferShape / InferDataType 拆分、日志规范整改及必要的编译/预提交问题修复。 1. 补齐多个算子的 op_graph 侧 InferDataType / graph infer 注册文件,并同步补充对应 CMakeLists.txt: - 如 FastGeluV2、HardShrinkGrad、HardSigmoidGrad、HardSwish、HardSwishGrad、Selu、SeluGrad、Shrink、SoftplusGrad、SoftplusV2、SoftplusV2Grad、Softsign、SoftsignGrad、SmoothL1Loss、SoftMarginLoss、LpNormUpdateV2、ApplyFtrlV2、ApplyMomentum、ApplyRMSProp 等。 2. 调整部分算子的 op_host infer 文件: - 将 InferDataType 逻辑从 infershape 文件中拆分/迁移到 op_graph 侧; - 保留 InferShape 逻辑,避免 shape/type 混在同一处注册; - 收敛 IndexCheck infershape 日志,仅保留入口日志。 3. 补充 SoftMarginLoss 图模式原型: - 新增 loss/soft_margin_loss/op_graph/soft_margin_loss_proto.h; - 新增 OPS_PROTO_DEF_SOFTMARGINLOSS 去重宏,避免重复注册; - 补充 SoftMarginLoss 的 op_graph/CMakeLists.txt 和 graph infer 注册。 4. 日志整改: - 为 Arch35 tiling 入口补充统一入口日志; - 对本 PR 修改范围内新增/调整的外部输入错误日志,按规范使用 OP_LOGE_FOR_INVALID_* 系列上报接口; - 收敛部分过多的 tiling / infershape 日志打印,避免循环或冗余打印。 5. 回退/收敛不属于本次整改范围的 Softshrink 重命名相关改动: - Softshrink -> SoftShrink 的命名调整不放在本 PR 中,后续单独 PR 处理。 6. 修复 pre-commit 格式问题: - 按仓库 .clang-format 修复格式; - 不修改 .pre-commit-config.yaml。 影响范围 主要影响 activation、index、loss、norm、optim、quant、vfusion 等目录下 Legacy 下线相关算子的 op_graph 注册、InferDataType 拆分、tiling 入口日志和错误日志规范。 ## 变更内容 ## 关联的Issue ## 测试 ## 文档更新 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他:Legacy包下线整改 See merge request: cann/ops-nn!8388 | 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 | 3 个月前 | |
refactor: 将 hard_swish_grad/hard_swish_grad_v2/heaviside 的 op_api 从 op_host 迁移到算子根目录 Co-authored-by: luoyufan7<luoyufan7@h-partners.com> # message auto-generated for no-merge-commit merge: !9427 merge refactor/op-api-move-hardswish-heaviside into master refactor: 将 hard_swish_grad/hard_swish_grad_v2/heaviside 的 op_api 从 op_host 迁移到算子根目录 Created-by: luoyufan7 Commit-by: luoyufan7 Merged-by: cann-robot Description: ## 描述 将 activation/hard_swish_grad、hard_swish_grad_v2、heaviside 三个算子的 op_api 文件从 op_host 目录下迁移到算子根目录,删除 op_host/CMakeLists.txt,改为使用算子根目录的 add_modules_sources 机制。 ### 具体改动 - **hard_swish_grad**: op_host/op_api/ → op_api/,删除 op_host/CMakeLists.txt - **hard_swish_grad_v2**:op_host/op_api/ → op_api/,删除 op_host/CMakeLists.txt - **heaviside**:op_host/op_api/ → op_api/,删除 op_host/CMakeLists.txt ## 关联的Issue #5332 ## 测试 - 单算子包构建成功:bash build.sh --ops=hard_swish_grad,hard_swish_grad_v2,heaviside --soc=ascend910b --pkg - 安装后三个算子的 example 测试均运行成功(ascend910b 环境) - pre-commit 全部通过(含 OAT 合规检查) ## 文档更新 无 ## 类型标签 - [x] 重构 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9427 | 2 个月前 | |
refactor: 将 hard_swish_grad/hard_swish_grad_v2/heaviside 的 op_api 从 op_host 迁移到算子根目录 Co-authored-by: luoyufan7<luoyufan7@h-partners.com> # message auto-generated for no-merge-commit merge: !9427 merge refactor/op-api-move-hardswish-heaviside into master refactor: 将 hard_swish_grad/hard_swish_grad_v2/heaviside 的 op_api 从 op_host 迁移到算子根目录 Created-by: luoyufan7 Commit-by: luoyufan7 Merged-by: cann-robot Description: ## 描述 将 activation/hard_swish_grad、hard_swish_grad_v2、heaviside 三个算子的 op_api 文件从 op_host 目录下迁移到算子根目录,删除 op_host/CMakeLists.txt,改为使用算子根目录的 add_modules_sources 机制。 ### 具体改动 - **hard_swish_grad**: op_host/op_api/ → op_api/,删除 op_host/CMakeLists.txt - **hard_swish_grad_v2**:op_host/op_api/ → op_api/,删除 op_host/CMakeLists.txt - **heaviside**:op_host/op_api/ → op_api/,删除 op_host/CMakeLists.txt ## 关联的Issue #5332 ## 测试 - 单算子包构建成功:bash build.sh --ops=hard_swish_grad,hard_swish_grad_v2,heaviside --soc=ascend910b --pkg - 安装后三个算子的 example 测试均运行成功(ascend910b 环境) - pre-commit 全部通过(含 OAT 合规检查) ## 文档更新 无 ## 类型标签 - [x] 重构 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9427 | 2 个月前 | |
docs: SoftPlusV2算子补充README文档、Heaviside README补充input维度约束 Co-authored-by: Coder_Nerd<shishuai5@huawei.com> # message auto-generated for no-merge-commit merge: !9447 merge docs/heaviside-op-api-support into master docs: SoftPlusV2算子补充README文档、Heaviside README补充input维度约束 Created-by: Coder_Nerd Commit-by: Coder_Nerd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> SoftPlusV2算子补充README文档、Heaviside README补充input维度约束 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5292 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9447 | 2 个月前 |
Heaviside
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
| Atlas Kirin X90 处理器系列产品 | √ |
| Atlas Kirin 9030 处理器系列产品 | √ |
功能说明
-
接口功能: 计算输入input中每个元素的Heaviside阶跃函数,作为模型的激活函数。
-
计算公式:
Heaviside(input,values)={0,如果input<0values,如果input=01,如果input>0\text{Heaviside}(\text{input}, \text{values}) = \begin{cases} 0, & \text{如果input} < 0 \\ \text{values}, & \text{如果input} = 0 \\ 1, & \text{如果input} > 0 \end{cases} Heaviside(input,values)=⎩⎪⎪⎨⎪⎪⎧0,values,1,如果input<0如果input=0如果input>0
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| input | 输入 | 公式中的输入input。 | BFLOAT16、FLOAT16、FLOAT | ND |
| values | 输入 | 公式中的输入values。 | BFLOAT16、FLOAT16、FLOAT | ND |
| out | 输出 | 公式中的Heaviside。 | BFLOAT16、FLOAT16、FLOAT | ND |
- Atlas Kirin X90 处理器系列产品、Atlas Kirin 9030 处理器系列产品:不支持BFLOAT16。
约束说明
- input、values、out的数据类型必须一致。
- input支持1~8维
- values为标量(单元素)或与input的shape相同,kernel内部不广播,按相同线性偏移读取values。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_heaviside | 通过aclnnHeaviside接口方式调用Heaviside算子。 |
| 图模式调用 | - | 通过算子IR构图方式调用Heaviside算子。 |