已合并
[v2.9.0] Add NPU tests for global full backward module hook APIs #37872
[v2.9.0] Add NPU tests for global full backward module hook APIs #37872
已合并
coconut创建于 6月8日
coconut
coconut
6月8日

【合入来源】

如有社区issue,请关联issue链接
请勿携带内部流程信息(需求链接、问题单、内部issue等)

关联issue:https://gitcode.com/Ascend/pytorch/issues/2309

【修改方案】

一、2 个 API 功能如下

  1. torch.nn.modules.module.register_module_full_backward_hook
    • 为所有 nn.Module 注册全局 full backward hook,在完整反向传播阶段触发回调。
  2. torch.nn.modules.module.register_module_full_backward_pre_hook
    • 为所有 nn.Module 注册全局 full backward pre hook,在完整反向传播前触发回调。

二、社区用例对这 2 个 API 的验证完整性分析

  1. 未检索到这 2 个“全局 API”的直接官方用例;
  2. 上游仅覆盖了实例级 API:
    • register_full_backward_hook
    • register_full_backward_pre_hook
  3. 因此社区现有用例对这 2 个全局 API 的直接验证不完整,需要新增测试文件补齐。

三、NPU 适配

  1. 新增 test/nn/test_global_module_full_backward_hooks.py
  2. 直接验证 torch.nn.modules.module.register_module_full_backward_hook
  3. 直接验证 torch.nn.modules.module.register_module_full_backward_pre_hook
  4. 核心检查点为 hook 是否触发、梯度是否按预期改写;
  5. 相关张量均在 NPU 上执行。

【资料变更】

不涉及

【接口变更】

不涉及

【功能验证】

1. 测试环境

- 操作系统:Ubuntu
- 昇腾硬件信息:NPU
- CANN软件版本:8.5.0
- 安装的对应软件版本:torch 2.9.0+cpu、torch_npu 2.9.0.post2

2. 测试命令

python -u /workspace/torch_npu_v2.9.0/test/nn/test_global_module_full_backward_hooks.py   > /workspace/version_logs/module_hooks_new2_v2.9.0.log 2>&1

3. patch 格式检查真实输出

EXIT_CODE:0

4. 测试真实输出

..
----------------------------------------------------------------------
Ran 2 tests in 1.265s

OK
EXIT_CODE:0

【CheckList】

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

likedislike
Pull Request已成功合入, 合并人@ascend-robot
(感谢 coconut 的贡献)
coconutcoconut
6月8日 创建了 pull request,commit 744ab671
coconutcoconut
6月8日 关联了issue:[Usage]: [v2.9.0] Add NPU validation for global full backward module hook APIs
ascend-robotascend-robot成员
6月8日 添加了label:ascend-cla/yes
ascend-robot
ascend-robot成员
6月8日 评论:

CLA Signature Pass

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

likedislike
此处折叠了41条消息 查看更多
liwei386成员
6月12日 评论:

/approve

likedislike
ascend-robotascend-robot成员
6月12日 添加了label:approvedlgtm
ascend-robotascend-robot成员
6月12日 关闭了关联的issue
ascend-robotascend-robot成员
6月12日 合入了pull request
ascend-robot
ascend-robot成员
6月12日 评论:
流水线 pytorch_gitcode_PR_multiVersion#10603 [ commitID:1284d386 ] 已完成
likedislike