现有 canndev 已包含 SigmoidFocalLossGrad 的图原型和历史实现信息,但 ops-nn 尚无该算子的 Ascend 950 内置实现。目标检测等使用 Sigmoid Focal Loss 的训练网络需要在 Ascend 950 上完成对应反向梯度计算。
ops-nn
该算子在 canndev 和 ops-nn 中均没有 ACLNN 接口契约,因此需求范围明确为 GEIR 图模式和 Kernel 直调能力,不新增 ACLNN API、ACLNN 实现、ACLNN 文档或 ACLNN 测试通路。
来源于 LongTailInfo 8August requirement 中的 SigmoidFocalLossGrad 长尾算子迁移需求,以及 ops-nn Ascend 950 转测准入任务。
loss/sigmoid_focal_loss_grad
weight
mean/sum/none
ACLNNTYPE aclnn_exclude
LongTailInfo/Sinh/golden文件/sinh.py
sigmoid_focal_loss_grad_golden.py
c10e2a95a87e50702f73091e3f6c57d9919496975c839e6fb978907c35faf35b
third_party
cross_check
COMMON_ISSUE_SCAN.md
target=2
alpha/gamma
https://gitcode.com/cann/ops-nn/merge_requests/9433
/assign
Backgroud(背景信息)
现有 canndev 已包含 SigmoidFocalLossGrad 的图原型和历史实现信息,但
ops-nn尚无该算子的 Ascend 950 内置实现。目标检测等使用 Sigmoid Focal Loss 的训练网络需要在 Ascend 950 上完成对应反向梯度计算。该算子在 canndev 和
ops-nn中均没有 ACLNN 接口契约,因此需求范围明确为 GEIR 图模式和 Kernel 直调能力,不新增 ACLNN API、ACLNN 实现、ACLNN 文档或 ACLNN 测试通路。Origin(信息来源)
来源于 LongTailInfo 8August requirement 中的 SigmoidFocalLossGrad 长尾算子迁移需求,以及
ops-nnAscend 950 转测准入任务。Benefit / Necessity (价值/作用)
Design(设计方案)
loss/sigmoid_focal_loss_grad新增 OpDef、GEIR 图推导、Tiling 和 AscendC Kernel,支持 FLOAT16/FLOAT 输入组合、可选weight与mean/sum/nonereduction。ACLNNTYPE aclnn_exclude禁止构建系统生成 ACLNN,历史 ACLNN 用例转换为 Kernel 直调或 GEIR 用例。LongTailInfo/Sinh/golden文件/sinh.py的 TestSpec 结构改造,仅注册 Kernel/GEIR 共用的 raw op;计算顺序使用用户指定sigmoid_focal_loss_grad_golden.py(SHA256c10e2a95a87e50702f73091e3f6c57d9919496975c839e6fb978907c35faf35b),Torch 小算子组合注册为third_party,FLOAT16/FLOAT 均采用 L0cross_check。COMMON_ISSUE_SCAN.md跟踪,功能精度通过与完整转测准入分别裁决。Acceptance Criteria(验收标准)
Related PR(关联PR)
https://gitcode.com/cann/ops-nn/merge_requests/9433