已关闭
[CT][MS][OPS][mint.nn.functional.avg_pool2d][function][全量]mint.nn.functional.avg_pool2d在910PremiumA上出现精度问题 #207
tanxinglian创建于  2025年2月25日关闭于  2025年4月16日
tanxinglian
2025年2月25日 创建

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

样例: (根据实际修改和增删)

mint.nn.functional.avg_pool2d在910PremiumA上出现精度问题,其他910A机器未出现精度问题

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

  • Hardware Environment / 硬件环境(Mandatory / 必填):
    Hardware (e.g.Ascend910B1/Mac CPU)

    样例:

后端类型 硬件具体类别
Ascend 910PremiumA
  • Software Environment / 软件环境 (Mandatory / 必填):

    bugfix版本问题引入样例:(根据实际修改和增删)

Software Version(根据实际修改,必填)
MindSpore 2.22号包 mindspore_commit=commit_id = '[sha1]:b13f4cb7,[branch]:(HEAD,origin/master,origin/HEAD,master)'(失败)2.6.0 B021 mindspore_commit=commit_id = '[sha1]:747d2b44,[branch]:(HEAD,origin/master,origin/HEAD,master)'(成功)
CANN Milan_C21/20250206(成功) Milan_C21/20250206(失败)
Python Python 3.10.2
OS platform eulerosv2r10
GCC/Compiler version 7.3

3.Related testcase / 关联用例 (Mandatory / 必填)

  • Testcase Name/ 用例名 (Mandatory / 必填):
    -- Testcase Name(e.g.test_mf_llama_7b_wiki4096_train_cell_dp1mp4pp4mb4_910_16p_0005): test_mint_n_f_avg_pool2d_float32_2d_discontinuous_tensor
  • Excute Mode / 执行模式 (Mandatory / 必填):
    -- Excute Mode(e.g., Graph\PyNative): PyNative
    -- Excute Mode(e.g., O0\O1\O2):不设置

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

(1)export CONTEXT_DEVICE_TARGET=Ascend
export CONTEXT_MODE=PYNATIVE_MODE
export MS_DISABLE_KERNEL_BACKOFF=1

(2)cd MindSporeTest/operations
(3)pytest -s -v test_mint_n_f_avg_pool2d.py::test_mint_n_f_avg_pool2d_float32_2d_discontinuous_tensor

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

【预期结果】:执行成功

6.Related log / screenshot / 日志 / 截图 (Mandatory / 必填)

报错关键日志截图:

@Level2
    @SKIP_ENV_GPU(reason='not support')
    @SKIP_ENV_CPU(reason='not support')
    @SKIP_MODE_GRAPH()
    def test_mint_n_f_avg_pool2d_float32_2d_discontinuous_tensor():
        input_x = get_discontinuous_tensor(shape=(5, 5, 28, 38), dim=(2, 1, 3, 0))
        kernel_size = 2
        stride = (2, 4)
        padding = 0
        ceil_mode = False
        count_include_pad = False
        divisor_override = 50
        fact = AvgPool2dMock(
            attributes={'kernel_size': kernel_size, 'stride': stride, 'padding': padding,
                        'ceil_mode': ceil_mode, 'count_include_pad': count_include_pad,
                        'divisor_override': divisor_override},
            inputs=[input_x])
>       fact.forward_cmp()

../test_mint_n_f_avg_pool2d.py:1110: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../share/mint/nn_functional/avg_pool2d_mint.py:155: in forward_cmp
    allclose_nparray(out_cmp, out_mindspore, 0.001, 0.001)
../../share/utils.py:63: in allclose_nparray
    _count_unequal_element(data_expected, data_me, rtol, atol)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

data_expected = array([[[[0.0317289 ],
         [0.04237107],
         [0.05222388],
         ...,
         [0.0534819 ],
         [0....     [0.0433775 ],
         ...,
         [0.03954761],
         [0.04958919],
         [0.05123113]]]], dtype=float32)
data_me = array([[[[0.03173828],
         [0.        ],
         [0.        ],
         ...,
         [0.05349731],
         [0....     [0.        ],
         ...,
         [0.03955078],
         [0.        ],
         [0.        ]]]], dtype=float32)
rtol = 0.001, atol = 0.001

    def _count_unequal_element(data_expected, data_me, rtol, atol):
        assert data_expected.shape == data_me.shape
        total_count = len(data_expected.flatten())
        error = np.abs(data_expected - data_me)
        greater = np.greater(error, atol + np.abs(data_me) * rtol)
        nan_diff = np.not_equal(np.isnan(data_expected), np.isnan(data_me))
        inf_diff = np.not_equal(np.isinf(data_expected), np.isinf(data_me))
        neginf_diff = np.not_equal(np.isneginf(data_expected), np.isneginf(data_me))
        greater = greater + nan_diff + inf_diff + neginf_diff
        loss_count = np.count_nonzero(greater)
>       assert (loss_count / total_count) < rtol, \
            "\ndata_expected_std:{0}\ndata_me_error:{1}\nloss:{2}". \
                format(data_expected[greater], data_me[greater], error[greater])
E       AssertionError: 
E       data_expected_std:[0.04237107 0.05222388 0.05484003 ... 0.02209314 0.04958919 0.05123113]
E       data_me_error:[0. 0. 0. ... 0. 0. 0.]
E       loss:[0.04237107 0.05222388 0.05484003 ... 0.02209314 0.04958919 0.05123113]

../../share/utils.py:56: AssertionError
=============================== warnings summary ===============================

完整日志(通过附件上传):
https://testreporter.szv.dragon.tools.huawei.com/TestDataBot/analysis/taskdetailes?productId=mindspore&productLine=2012 Laboratories&taskId=2326593508668866711&tmssPath=%2F03200tqk2t5d0%2F03o5107oo9agj%2F03mb1082tjvbv%2F&title=CT_mindspore_ascend910a_op_pynative_standalone_full_2025-02-23 05:22:20&isMergedTask=false&nodeDate=2025-02-23&year=2024-2025&TestNow=true&testcaseid=67ba43cfa052d7325367a940&workspaceId=67ba43c84503c84f0a0421ed

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

【定位人】
【根因分析模板】
特别说明: 针对master上所有问题需要,走回归前评论里 进行问题引入分析(默认特性在特性分支已经质量OK)

    1. 测试新增测试场景/测试漏测/用例未适配
      测试原因:xxx ,1. 新增测试场景要讲清楚是什么测试活动 2. 用例未适配要讲清楚未适配原因(是开发未通知测试,还是测试忘记适配)3. ……
      用例如果有新增,则补充 用例新增时间:2025/x/x
      是否偶现:是/否
    1. 环境问题
      具体环境问题描述:要讲清楚具体是什么问题,如 OS 不兼容/机器内存不足/数据集不全/……,不允许因为换一台机器不复现就走单,要有明确环境原因
      是否偶现:是/否
    1. CANN 升级
      CANN 包引入,具体 CANN 哪个组件,是否偶现:是/否

问题单回归原则:问题引入原因没描述清楚,测试人员直接将问题单打回,让开发人员补充说明后再回归

likedislike
Ttanxinglian
2025年2月25日 添加了问题后端类型的 Ascend 选项
Ttanxinglian
2025年2月25日 添加了关联分支的 master 选项
Ttanxinglian
2025年2月25日 创建了Bug-Report
hz893成员
2025年2月27日 评论:

根据责任人转单
输入图片说明

likedislike
AAtomGit-Bot
2025年2月27日 添加了 &nbsp; foruda 标签
此处折叠了52条消息 查看更多
HulkTang1
2025年4月11日 评论:

910PremiumA 硬件,非连续输入场景存在精度问题:
DTS2025041127810

likedislike
fangwenyi
fangwenyi成员
2025年4月15日 评论:

DTS2025041203827

likedislike
AAtomGit-Bot
2025年4月16日 将里程碑从 B-SIG-Parallel 修改为B-ComponentTest
tanxinglian
2025年4月16日 评论:
AtomGit小助手AtomGit小助手成员
2025年12月13日 关联了看板:MindSpore Bug Tracking System