| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[CANNBOT]codecheck扫描修改 Co-authored-by: gcw_YBIAEfqJ<wangweidong15@huawei.com> # message auto-generated for no-merge-commit merge: !5907 merge codecheck into master [CANNBOT]codecheck扫描修改 Created-by: gcw_YBIAEfqJ Commit-by: gcw_YBIAEfqJ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> codecheck扫描修改 G.EXP.27-CPP 使用恰当的基本类型作为操作符的操作数 G.EXP.36-CPP 控制表达式的结果应是布尔值 G.INC.03-CPP 头文件应该自包含 等规则修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3246 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> OBP冒烟:22710 二级冒烟:6340 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5907 | 2 个月前 | |
空文件夹删除 Co-authored-by: gcw_YBIAEfqJ<wangweidong15@huawei.com> # message auto-generated for no-merge-commit merge: !6671 merge 0627 into 9.1.0 空文件夹删除 Created-by: gcw_YBIAEfqJ Commit-by: gcw_YBIAEfqJ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 空文件夹删除 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6671 | 1 个月前 | |
[CANNBOT]codecheck扫描修改 Co-authored-by: gcw_YBIAEfqJ<wangweidong15@huawei.com> # message auto-generated for no-merge-commit merge: !5907 merge codecheck into master [CANNBOT]codecheck扫描修改 Created-by: gcw_YBIAEfqJ Commit-by: gcw_YBIAEfqJ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> codecheck扫描修改 G.EXP.27-CPP 使用恰当的基本类型作为操作符的操作数 G.EXP.36-CPP 控制表达式的结果应是布尔值 G.INC.03-CPP 头文件应该自包含 等规则修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3246 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> OBP冒烟:22710 二级冒烟:6340 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5907 | 2 个月前 | |
[CANNBOT]codecheck扫描修改 Co-authored-by: gcw_YBIAEfqJ<wangweidong15@huawei.com> # message auto-generated for no-merge-commit merge: !5907 merge codecheck into master [CANNBOT]codecheck扫描修改 Created-by: gcw_YBIAEfqJ Commit-by: gcw_YBIAEfqJ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> codecheck扫描修改 G.EXP.27-CPP 使用恰当的基本类型作为操作符的操作数 G.EXP.36-CPP 控制表达式的结果应是布尔值 G.INC.03-CPP 头文件应该自包含 等规则修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3246 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> OBP冒烟:22710 二级冒烟:6340 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5907 | 2 个月前 | |
[CANNBOT]softsign_grad 适配ascend950 ascendc实现 Co-authored-by: gcw_YBIAEfqJ<wangweidong15@huawei.com> # message auto-generated for no-merge-commit merge: !4928 merge 0515 into master [CANNBOT]softsign_grad 适配ascend950 ascendc实现 Created-by: gcw_YBIAEfqJ Commit-by: gcw_YBIAEfqJ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> softsign_grad 适配ascend950 ascendc实现 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2745 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> OBP冒烟:22176 二级冒烟:5503 SoftsignGrad 测试覆盖总结 ┌────────────┬─────────────────────────────────────────────────────┐ │ 维度 │ 覆盖情况 │ ├────────────┼─────────────────────────────────────────────────────┤ │ 总用例数 │ ~568(TTK 490 + L0 TTK 55 + UT 23 + GE IR 1) │ ├────────────┼─────────────────────────────────────────────────────┤ │ 数据类型 │ float32, float16, bfloat16 │ ├────────────┼─────────────────────────────────────────────────────┤ │ Shape 维度 │ 1D ~ 8D │ ├────────────┼─────────────────────────────────────────────────────┤ │ 元素数量 │ 1 ~ 91,165,909(9千万) │ └────────────┴─────────────────────────────────────────────────────┘ 数据值域(gradients 和 features 两个输入): ┌──────────────────────────────────────────────┬────────────────────────────────────┐ │ 区间 │ 说明 │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [0, 0.001] / [-0.001, 0] │ 零附近,输出接近 gradients │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [-0.01, 0.01] │ 小值区,(1+|x|)^2 ≈ 1 │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [-1, 1] │ 正常值区,衰减因子 1/(1+|x|)^2 │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [-10, -2] / [2, 10] │ 中等值区,输出被大幅衰减 │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [-1000, -10] / [10, 1000] │ 大值区,输出趋近于零 │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [±3.38e+38] / [±3.40e+38] │ 极大值,接近 dtype max │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ denormal: ±1.175e-38(fp32), ±6.1e-5(fp16) │ 次正规数 │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [-65504, 65504] │ fp16 全值域 │ └──────────────────────────────────────────────┴────────────────────────────────────┘ 通路验证: - GE IR 通路:PASS(aclnnSoftsignBackward 全链路 init→build→execute) - aclnn 通路:PASS(TTK 框架 490/490 精度达标) UT 覆盖(23 用例): - op_api:参数校验、dtype 匹配、shape 推导(20 用例) - op_host:InferShape 正确性(3 用例 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4928 | 2 个月前 | |
[CANNBOT]softsign_grad 适配ascend950 ascendc实现 Co-authored-by: gcw_YBIAEfqJ<wangweidong15@huawei.com> # message auto-generated for no-merge-commit merge: !4928 merge 0515 into master [CANNBOT]softsign_grad 适配ascend950 ascendc实现 Created-by: gcw_YBIAEfqJ Commit-by: gcw_YBIAEfqJ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> softsign_grad 适配ascend950 ascendc实现 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2745 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> OBP冒烟:22176 二级冒烟:5503 SoftsignGrad 测试覆盖总结 ┌────────────┬─────────────────────────────────────────────────────┐ │ 维度 │ 覆盖情况 │ ├────────────┼─────────────────────────────────────────────────────┤ │ 总用例数 │ ~568(TTK 490 + L0 TTK 55 + UT 23 + GE IR 1) │ ├────────────┼─────────────────────────────────────────────────────┤ │ 数据类型 │ float32, float16, bfloat16 │ ├────────────┼─────────────────────────────────────────────────────┤ │ Shape 维度 │ 1D ~ 8D │ ├────────────┼─────────────────────────────────────────────────────┤ │ 元素数量 │ 1 ~ 91,165,909(9千万) │ └────────────┴─────────────────────────────────────────────────────┘ 数据值域(gradients 和 features 两个输入): ┌──────────────────────────────────────────────┬────────────────────────────────────┐ │ 区间 │ 说明 │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [0, 0.001] / [-0.001, 0] │ 零附近,输出接近 gradients │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [-0.01, 0.01] │ 小值区,(1+|x|)^2 ≈ 1 │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [-1, 1] │ 正常值区,衰减因子 1/(1+|x|)^2 │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [-10, -2] / [2, 10] │ 中等值区,输出被大幅衰减 │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [-1000, -10] / [10, 1000] │ 大值区,输出趋近于零 │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [±3.38e+38] / [±3.40e+38] │ 极大值,接近 dtype max │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ denormal: ±1.175e-38(fp32), ±6.1e-5(fp16) │ 次正规数 │ ├──────────────────────────────────────────────┼────────────────────────────────────┤ │ [-65504, 65504] │ fp16 全值域 │ └──────────────────────────────────────────────┴────────────────────────────────────┘ 通路验证: - GE IR 通路:PASS(aclnnSoftsignBackward 全链路 init→build→execute) - aclnn 通路:PASS(TTK 框架 490/490 精度达标) UT 覆盖(23 用例): - op_api:参数校验、dtype 匹配、shape 推导(20 用例) - op_host:InferShape 正确性(3 用例 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4928 | 2 个月前 | |
Modifying the Chips Supported by an Operator Co-authored-by: zhouwenfang<zhouwenfang3@h-partners.com> # message auto-generated for no-merge-commit merge: !6250 merge 9.1.0 into 9.1.0 Modifying the Chips Supported by an Operator Created-by: zhouwenfang Commit-by: zhouwenfang Merged-by: cann-robot Description: ## 描述 Modifying the Chips Supported by an Operator ## 关联的Issue Issue #3431 ## 测试 NA ## 文档更新 涉及算子的README较多,具体请看issue,这里不一一列举了 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6250 | 2 个月前 |
SoftsignGrad
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | × |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | × |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
功能说明
-
算子功能:完成Softsign激活函数的反向梯度计算。给定上游梯度gradients和前向输入特征features,按元素计算输出梯度。
-
计算公式:
outputi=gradientsi(1+∣featuresi∣)2output_i = \frac{gradients_i}{(1 + |features_i|)^2} outputi=(1+∣featuresi∣)2gradientsi
其中:
- gradients: 上游梯度张量
- features: Softsign前向函数的输入特征张量
- output: 计算得到的梯度输出张量
参数说明
| 参数名 | 输入/输出 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| gradients | 输入 | 上游梯度张量,对应公式中的gradients。支持0-8维tensor,支持空tensor和非连续tensor。shape需要与features的shape完全相同。 | BFLOAT16、FLOAT16、FLOAT32 | ND |
| features | 输入 | Softsign前向函数的输入特征张量,对应公式中的features。支持0-8维tensor,支持空tensor和非连续tensor。shape需要与gradients的shape完全相同。 | BFLOAT16、FLOAT16、FLOAT32 | ND |
| output | 输出 | 计算得到的梯度输出张量,对应公式中的output。shape与输入相同,数据类型与输入一致。 | BFLOAT16、FLOAT16、FLOAT32 | ND |
约束说明
- gradients和features的数据类型必须一致,且仅支持FLOAT、FLOAT16、BFLOAT16。
- gradients和features的shape必须完全相同,不支持广播。
- FP16/BF16输入在内部会提升至FP32精度计算,结果再转换回原始精度。
- aclnnSoftsignBackward默认确定性实现。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| 图模式 | test_geir_softsign_grad.cpp | 通过图模式方式调用SoftsignGrad算子。 |