已关闭
[Bug-Report|缺陷反馈]: SparseSoftmaxCrossEntropyWithLogits 的 infershape 中 backpropShape 判空对象写错(重复检查 lossShape) #2473
lixiang2026创建于  5月2日关闭于  6月26日
lixiang2026
5月2日 创建

Thanks for sending an issue! Please fill in the following template to help quickly solve your problem.

Describe the current behavior / 问题描述 (Mandatory / 必填)

SparseSoftmaxCrossEntropyWithLogits 的 infershape 实现中,backpropShape 获取后没有被正确判空,疑似笔误导致重复检查了 lossShape

37 gert::Shape* lossShape = context->GetOutputShape(OUTPUT_LOSS_IDX);
38 OP_CHECK_NULL_WITH_CONTEXT(context, lossShape);
39 gert::Shape* backpropShape = context->GetOutputShape(OUTPUT_BACKPROP_IDX);
40 OP_CHECK_NULL_WITH_CONTEXT(context, lossShape);

期望第 40 行应检查 backpropShape

Environment / 环境信息 (Mandatory / 必填)

静态代码检查,未做实际运行验证

Steps to reproduce the issue / 重现步骤 (Mandatory / 必填)

  1. 打开 loss/sparse_softmax_cross_entropy_with_logits/op_host/sparse_softmax_cross_entropy_with_logits_infershape.cpp
  2. 观察 backpropShape 在第 39 行已获取,但第 40 行仍在检查 lossShape
  3. 通过静态代码路径分析可见:当 OUTPUT_BACKPROP_IDX 对应输出为空时,当前实现不会在该处触发判空分支。

Describe the expected behavior / 预期结果 (Mandatory / 必填)

应检查 backpropShape 是否为空,而不是重复检查 lossShape;当 backpropShape 为空时应及时返回错误,避免遗漏空指针校验。

静态代码检查,无运行日志;
问题代码见 loss/sparse_softmax_cross_entropy_with_logits/op_host/sparse_softmax_cross_entropy_with_logits_infershape.cpp 第39-40行。
image.png

Special notes for this issue/备注 (Optional / 选填)

likedislike
Llixiang2026
5月2日 修改了issue 的描述
oscillated
oscillated成员
5月5日 评论:

您好,问题已收到,已安排对应负责人。

likedislike
oscillatedoscillated成员
5月5日 将 yu-xinjie62 设为负责人
於欣洁成员
6月11日 将 ji-songyuan 设为负责人
於欣洁成员
6月11日 移除了负责人 yu-xinjie62
佐助大王佐助大王成员
6月25日 关联了pull request:修复一些错误引用
佐助大王佐助大王成员
6月25日 关联了pull request:修复错误引用
CANN-robotCANN-robot成员
6月26日 关闭了 issue
CANN-robotCANN-robot成员
6月26日 添加了label:resolved