已合并
test(fx): add graph_module internal API alignment test cases [v2.12.0] #43640
zkx创建于 18 天前
test(fx): add graph_module internal API alignment test cases [v2.12.0] #43640
已合并
Pull Request已成功合入, 合并人@ascend-robot
(感谢 zkx 的贡献)atomgit-bot
18 天前 评论:
18 天前 评论:
变更摘要
此 PR 为 torch.fx.graph_module 的 5 个内部私有 API 新增 NPU 一致性验证用例,解决 PyTorch 社区对这些 _ 前缀 API 缺乏专门测试的问题。新增文件 test/test_fx_graph_module_npu.py 包含 5 个测试类,覆盖 _exec_with_source、_forward_from_src、_CodeOnlyModule、_copy_attr 和 _WrappedCall 的核心功能路径,并支持通过 torch.accelerator.current_accelerator() 自动适配 NPU 设备。
主要改动
- 新增
TestExecWithSource测试类:验证_exec_with_source对单行赋值和跨行变量引用场景的源码编译执行能力。 - 新增
TestForwardFromSrc测试类:验证_forward_from_src从源码字符串提取forward函数后,在 NPU 张量上正确执行基础运算和torch.relu。 - 新增
TestCodeOnlyModule测试类:验证_CodeOnlyModule通过body字典注入属性以及空字典初始化后仍为nn.Module实例。 - 新增
TestCopyAttr测试类:验证_copy_attr对register_buffer(Tensor)、register_parameter(Parameter)、嵌套路径属性迁移及 NPU 设备张量的正确复制行为。 - 新增
TestWrappedCall测试类:验证_WrappedCall包装器在未指定__call__和显式传入forward两种场景下的调用与计算正确性。


ascend-robot
18 天前 评论:
18 天前 评论:
atomgit-bot
18 天前 评论:
18 天前 评论:
此处折叠了119条消息 查看更多
梁松伟
6 天前 评论:
6 天前 评论:
/approve


6 天前 添加了label:approvedlgtm
6 天前 删除了label:ci-pipeline-passed
6 天前 合入了pull request
ascend-robot
6 天前 评论:
6 天前 评论:
流水线 pytorch_gitcode_PR_multiVersion#14063 [ commitID:ee7a5f91 ] 已完成


【合入来源】
【修改方案】
一、API功能
二、测试用例完备性说明
三、NPU适配
3.1 API适配:无需修改。5 个 API 均为纯 Python 框架层逻辑(exec/compile、字典/字符串操作、traceback 格式化、Module 属性复制),与底层硬件完全解耦,无 CUDA/NPU 特有代码路径,API 层面无需任何修改即可在 NPU 环境正常运行。
3.2 测试用例适配:新增用例在 import 后添加设备获取命令
device_type = acc.type if (acc := torch.accelerator.current_accelerator()) else "cpu",全部张量通过.to(device_type)运行在 NPU 上(CPU 环境回落 cpu)。【资料变更】
【接口变更】
【功能验证】
【CheckList】