已合并
test(nn): add test for nn api: torch.nn.Parameter, torch.nn.Buffer #31892
dinglaiping创建于 3月17日
test(nn): add test for nn api: torch.nn.Parameter, torch.nn.Buffer #31892
已合并
dinglaiping创建于 3月17日
已删除 :addtest-nn-api-2.8.0合入到Ascend/pytorchv2.8.0
dinglaiping成员
3月17日

【合入来源】

https://gitcode.com/Ascend/pytorch/issues/1579
请勿携带内部流程信息(需求链接、问题单、内部issue等)

【修改方案】

请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列
如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)

用例设计原则
本次验证结合官方用例复用与自定义用例补充的方式,遵循 “最小化、核心化、针对性” 原则,核心思路为:

  1. 补充缺失用例:针对Parameter、Buffer两个无官方单独用例的 API,自定义极简测试用例,覆盖核心功能;
  2. 聚焦核心功能:仅验证每个 API 的基础操作与 NPU 适配核心点,不涉及边缘场景与复杂计算,确保结果反映 API 本身适配状态;
  3. 贴合 NPU 特性:所有用例均重点校验设备迁移一致性、容器操作有效性、属性正确性等 NPU 场景关键需求;
  4. 轻量化设计:单个测试方法仅验证一个核心功能点,逻辑清晰、执行高效,便于问题定位。
    验证用例核心验证点
    在 NPU(npu:0)环境下,覆盖 2 个 API 的核心功能及实际使用场景,Parameter、Buffer通过自定义用例补充验证点,整体验证点如下:
  5. Parameter:验证直接在 NPU 上创建、核心属性(requires_grad)修改、data数据操作、设备一致性校验;
  6. Buffer:验证直接在 NPU 上创建、persistent双属性配置、模块注册后在state_dict中的存在性、设备一致性校验;

【资料变更】

不涉及

【接口变更】

不涉及

【功能验证】

说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤
新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图

整体结论:
本次验证通过 补充自定义用例的方式,在 NPU(npu:0)环境下完成 2 个核心 API 的全量验证,用例均执行成功,核心功能全覆盖,基础能力与操作逻辑均正常可用。

核心功能验证结果:

  1. Parameter:支持直接在 NPU 创建设备对象,requires_grad属性可灵活修改,data数据操作正常,设备一致性校验通过,核心属性与操作均符合预期;
  2. Buffer:支持直接在 NPU 创建设备对象,persistent=True/False双属性配置生效,模块注册后在state_dict中的存在性符合规则,设备一致性校验通过;

用例合理性说明:自定义用例虽简洁,但具备充分有效性与合理性。

  1. 自定义用例精准补全:Parameter、Buffer的自定义用例聚焦无官方用例覆盖的核心功能,贴合实际业务使用方式,验证结果具备业务参考价值;
  2. 适配操作最小化:对自定义用例仅做设备指定的最小化适配,确保验证结果能真实反映 API 本身的 NPU 适配状态;
  3. 符合官方规范:自定义用例基于 PyTorch 官方测试框架开发,使用原生断言方法,与官方用例测试标准保持一致;

运行日志
[root@hostname-fqv42:~/torchnpuapi# python /root/torchnpuapi/test_nn_api.py
..

Ran 2 tests in 5.263s

OK
root@hostname-fqv42:~/torchnpuapi#

【CheckList】

PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]

likedislike
Pull Request已成功合入, 合并人@ascend-robot
(感谢 dinglaiping 的贡献)
Ddinglaiping成员
3月17日 创建了 pull request,commit 3ec55ad7
Ddinglaiping成员
3月17日 关联了issue:[Usage]: [Usage]: test目录下面的test_nn.py继承自pytorch社区,但是里面并没有专门验证torch.nn.Parameter, torch.nn.Buffer的测试用例,需要补充
ascend-robot
ascend-robot成员
3月17日 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here
You can get sig-info at here


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
test liwei386, htchu (2/2) liwei386, htchu (2/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

dinglaiping, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
ascend-robotascend-robot成员
3月17日 添加了label:ascend-cla/yes
Ddinglaiping成员
3月17日 update merge request[project id: 7404318, iid: 31892, commit_id: d777df6290ec057bc683890232f681cc3d16fa2c] virtual merging success
Ddinglaiping成员
3月17日 强制推送  1 个提交:6c713bdc-test(nn): add test for nn api: torch.nn.Parameter, torch.nn.Buffer
Ddinglaiping成员
3月17日 update merge request[project id: 7404318, iid: 31892, commit_id: 35638a3674cea32b8808ed647b2b9ce600611e05] virtual merging success
AtlasAccountAtlasAccount成员
3月17日 添加了label:ci-pipeline-failed
dinglaiping成员
3月17日 评论:

compile

likedislike
ascend-robotascend-robot成员
3月17日 删除了label:ci-pipeline-failed
ascend-robotascend-robot成员
3月17日 添加了label:ci-pipeline-running
ascend-robotascend-robot成员
3月17日 删除了label:ci-pipeline-running
ascend-robotascend-robot成员
3月17日 添加了label:ci-pipeline-passed
ascend-robot
ascend-robot成员
3月17日 评论:
流水线 PR-pipeline_pytorch#10989 已完成
阶段 任务名 状态 详情
编译构建 Build_X86 >>>
Build_ARM >>>
Build_LibTorch_x86 >>>
Build_X86_torchair 🛑 >>>
Build_ARM_torchair 🛑 >>>
Build_ARM_inductor 🛑 >>>
恶意代码检查 Antipoison >>>
编码安全与规范检查 CodeCheck >>>
check_error >>>
开源片段检查 SCA >>>
开发者测试 UT_X86_Part_01 🛑 >>>
UT_X86_Part_02 🛑 >>>
UT_ARM_A3_Part_01 🛑 >>>
UT_ARM_A3_Part_02 🛑 >>>
UT_DIST_X86_Part_01 🛑 >>>
UT_DIST_X86_Part_02 🛑 >>>
UT_DIST_X86_Part_03 🛑 >>>
UT_DIST_X86_Part_04 🛑 >>>
UT_inductor_Part_01 🛑 >>>
UT_inductor_Part_02 🛑 >>>
UT_inductor_Part_03 🛑 >>>
UT_inductor_Part_04 🛑 >>>
UT_ARM_A2_Part_01 >>>
UT_ARM_A2_Part_02 >>>
流水线 PR-pipeline_pytorch >>>
likedislike
liwei386成员
3月18日 评论:

/approve

likedislike
ascend-robotascend-robot成员
3月18日 添加了label:approved
htchu成员
3月18日 评论:

/lgtm
/approve

likedislike
ascend-robotascend-robot成员
3月18日 添加了label:lgtm
ascend-robot
ascend-robot成员
3月18日 评论:

Review Guide

This pull-request passes review.
Committers who wrote a comment of /approve are: htchu, liwei386.
Reviewers who wrote a comment of /lgtm are: liwei386, htchu.

likedislike
ascend-robotascend-robot成员
3月18日 合入了pull request