| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【社区任务】HardSwishGrad算子AscendC实现贡献 Co-authored-by: hehe7758511<2941625023@qq.com> # message auto-generated for no-merge-commit merge: !7752 merge master into master 【社区任务】HardSwishGrad算子AscendC实现贡献 Created-by: hehe7758511 Commit-by: hehe7758511 Merged-by: cann-robot Description: ## 描述 本 PR 新增并完善 HardSwishGrad AscendC 算子,实现 HardSwish 激活函数的反向梯度计算,并适配 Atlas A2 训练系列产品和 Atlas A3 系列产品。 HardSwishGrad 根据前向输入所在区间计算局部梯度系数,并与上游梯度相乘: text out = 0 , self <= -3 out = gradOutput * (self / 3 + 0.5) , -3 < self < 3 out = gradOutput , self >= 3 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4202 ## 测试 已完成以下测试: - 在 Atlas A2 训练系列产品(Ascend 910B)环境完成算子编译、安装和 ACLNN 直调测试; - 使用CANNJudge平台测试 50 个测试用例完成精度与性能验证; ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7752 | 16 天前 | |
【社区任务】HardSwishGrad算子AscendC实现贡献 Co-authored-by: hehe7758511<2941625023@qq.com> # message auto-generated for no-merge-commit merge: !7752 merge master into master 【社区任务】HardSwishGrad算子AscendC实现贡献 Created-by: hehe7758511 Commit-by: hehe7758511 Merged-by: cann-robot Description: ## 描述 本 PR 新增并完善 HardSwishGrad AscendC 算子,实现 HardSwish 激活函数的反向梯度计算,并适配 Atlas A2 训练系列产品和 Atlas A3 系列产品。 HardSwishGrad 根据前向输入所在区间计算局部梯度系数,并与上游梯度相乘: text out = 0 , self <= -3 out = gradOutput * (self / 3 + 0.5) , -3 < self < 3 out = gradOutput , self >= 3 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4202 ## 测试 已完成以下测试: - 在 Atlas A2 训练系列产品(Ascend 910B)环境完成算子编译、安装和 ACLNN 直调测试; - 使用CANNJudge平台测试 50 个测试用例完成精度与性能验证; ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7752 | 16 天前 | |
【社区任务】HardSwishGrad算子AscendC实现贡献 Co-authored-by: hehe7758511<2941625023@qq.com> # message auto-generated for no-merge-commit merge: !7752 merge master into master 【社区任务】HardSwishGrad算子AscendC实现贡献 Created-by: hehe7758511 Commit-by: hehe7758511 Merged-by: cann-robot Description: ## 描述 本 PR 新增并完善 HardSwishGrad AscendC 算子,实现 HardSwish 激活函数的反向梯度计算,并适配 Atlas A2 训练系列产品和 Atlas A3 系列产品。 HardSwishGrad 根据前向输入所在区间计算局部梯度系数,并与上游梯度相乘: text out = 0 , self <= -3 out = gradOutput * (self / 3 + 0.5) , -3 < self < 3 out = gradOutput , self >= 3 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4202 ## 测试 已完成以下测试: - 在 Atlas A2 训练系列产品(Ascend 910B)环境完成算子编译、安装和 ACLNN 直调测试; - 使用CANNJudge平台测试 50 个测试用例完成精度与性能验证; ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7752 | 16 天前 | |
【社区任务】HardSwishGrad算子AscendC实现贡献 Co-authored-by: hehe7758511<2941625023@qq.com> # message auto-generated for no-merge-commit merge: !7752 merge master into master 【社区任务】HardSwishGrad算子AscendC实现贡献 Created-by: hehe7758511 Commit-by: hehe7758511 Merged-by: cann-robot Description: ## 描述 本 PR 新增并完善 HardSwishGrad AscendC 算子,实现 HardSwish 激活函数的反向梯度计算,并适配 Atlas A2 训练系列产品和 Atlas A3 系列产品。 HardSwishGrad 根据前向输入所在区间计算局部梯度系数,并与上游梯度相乘: text out = 0 , self <= -3 out = gradOutput * (self / 3 + 0.5) , -3 < self < 3 out = gradOutput , self >= 3 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4202 ## 测试 已完成以下测试: - 在 Atlas A2 训练系列产品(Ascend 910B)环境完成算子编译、安装和 ACLNN 直调测试; - 使用CANNJudge平台测试 50 个测试用例完成精度与性能验证; ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7752 | 16 天前 | |
【社区任务】HardSwishGrad算子AscendC实现贡献 Co-authored-by: hehe7758511<2941625023@qq.com> # message auto-generated for no-merge-commit merge: !7752 merge master into master 【社区任务】HardSwishGrad算子AscendC实现贡献 Created-by: hehe7758511 Commit-by: hehe7758511 Merged-by: cann-robot Description: ## 描述 本 PR 新增并完善 HardSwishGrad AscendC 算子,实现 HardSwish 激活函数的反向梯度计算,并适配 Atlas A2 训练系列产品和 Atlas A3 系列产品。 HardSwishGrad 根据前向输入所在区间计算局部梯度系数,并与上游梯度相乘: text out = 0 , self <= -3 out = gradOutput * (self / 3 + 0.5) , -3 < self < 3 out = gradOutput , self >= 3 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4202 ## 测试 已完成以下测试: - 在 Atlas A2 训练系列产品(Ascend 910B)环境完成算子编译、安装和 ACLNN 直调测试; - 使用CANNJudge平台测试 50 个测试用例完成精度与性能验证; ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7752 | 16 天前 | |
【社区任务】HardSwishGrad算子AscendC实现贡献 Co-authored-by: hehe7758511<2941625023@qq.com> # message auto-generated for no-merge-commit merge: !7752 merge master into master 【社区任务】HardSwishGrad算子AscendC实现贡献 Created-by: hehe7758511 Commit-by: hehe7758511 Merged-by: cann-robot Description: ## 描述 本 PR 新增并完善 HardSwishGrad AscendC 算子,实现 HardSwish 激活函数的反向梯度计算,并适配 Atlas A2 训练系列产品和 Atlas A3 系列产品。 HardSwishGrad 根据前向输入所在区间计算局部梯度系数,并与上游梯度相乘: text out = 0 , self <= -3 out = gradOutput * (self / 3 + 0.5) , -3 < self < 3 out = gradOutput , self >= 3 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4202 ## 测试 已完成以下测试: - 在 Atlas A2 训练系列产品(Ascend 910B)环境完成算子编译、安装和 ACLNN 直调测试; - 使用CANNJudge平台测试 50 个测试用例完成精度与性能验证; ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7752 | 16 天前 | |
【社区任务】HardSwishGrad算子AscendC实现贡献 Co-authored-by: hehe7758511<2941625023@qq.com> # message auto-generated for no-merge-commit merge: !7752 merge master into master 【社区任务】HardSwishGrad算子AscendC实现贡献 Created-by: hehe7758511 Commit-by: hehe7758511 Merged-by: cann-robot Description: ## 描述 本 PR 新增并完善 HardSwishGrad AscendC 算子,实现 HardSwish 激活函数的反向梯度计算,并适配 Atlas A2 训练系列产品和 Atlas A3 系列产品。 HardSwishGrad 根据前向输入所在区间计算局部梯度系数,并与上游梯度相乘: text out = 0 , self <= -3 out = gradOutput * (self / 3 + 0.5) , -3 < self < 3 out = gradOutput , self >= 3 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4202 ## 测试 已完成以下测试: - 在 Atlas A2 训练系列产品(Ascend 910B)环境完成算子编译、安装和 ACLNN 直调测试; - 使用CANNJudge平台测试 50 个测试用例完成精度与性能验证; ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7752 | 16 天前 |
HardSwishGrad
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Atlas A2 训练系列产品 | √ |
| Atlas A3 系列产品 | √ |
功能说明
-
算子功能:计算 HardSwish 激活函数的反向梯度。输入上游梯度
grad和前向输入x,输出y。 -
计算公式:
y = 0 , x <= -3 y = grad * (x / 3 + 0.5) , -3 < x < 3 y = grad , x >= 3
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| grad | 输入 | 上游梯度 Tensor | FLOAT16、FLOAT、BFLOAT16 | ND |
| x | 输入 | HardSwish 前向输入 Tensor,用于确定梯度系数 | 与 grad 一致 |
与 grad 一致 |
| y | 输出 | HardSwish 反向梯度 Tensor | 与 grad 一致 |
与 grad 一致 |
约束说明
grad、x和y的数据类型及数据格式必须一致。grad和x的 shape 必须一致,不支持广播。y的 shape 与grad一致。- 支持动态 shape 和动态 rank。
- 支持空 Tensor。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_hard_swish_grad | 通过 aclnnHardswishBackward 接口调用 HardSwishGrad 算子。 |
贡献说明
| 贡献者 | 贡献方 | 贡献算子 | 贡献时间 | 贡献内容 |
|---|---|---|---|---|
| Andy Zhang | 西北工业大学智能感知交互实验室 | HardSwishGrad | 2026/7/12 | HardSwishGrad 算子适配开源仓 |