| Add test_fx_graph_pickler for NPU adapter validation
Co-authored-by: yuhongming-2026<moshui_1@qq.com>
# message auto-generated for no-merge-commit merge:
!34855 merge add-fx-graph-api-test-master into master
test: 新增 GraphPickler NPU 适配验证与统一运行脚本
Created-by: yuhongming-2026
Commit-by: yuhongming-2026
Merged-by: ascend-robot
Description: <!--
PR描述模板更新日期:20260203
-->
# 【合入来源】
> <font color="red">**#1607**</font>\
> <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font>
- [ ] 需求
- [ ] 问题单
- [x] issue/工单
- [x] 重构优化
- [ ] 资料更新
# 【修改方案】
1. 新增统一验证脚本 run_graphpickler_npu_unified.py,用于自动选择可用后端并验证 torch.fx._graph_pickler 三大 API 在 CPU/NPU 环境中的适配性。
2. 支持的目标 API 包括 GraphPickler.dumps、GraphPickler.loads 以及 Option/Options 配置项,兼容 torch.fx._graph_pickler、torch_npu.fx._graph_pickler 与 graphpickler_npu_adapter 三种后端。
3. 在验证逻辑中实现:API 存在性检查、CPU round-trip 序列化/反序列化验证、NPU round-trip 验证、Option/Options 参数测试和输出一致性对比。
4. 参考已有验证结果文档和报告,确认 graphpickler_npu_validation_report.json 中三大 API 均通过验证,Option 配置测试 7/7 通过,NPU 功能测试通过且输出完全匹配。
5. PR 文档内容已基于目录下现有 NPU_ADAPTER_FULL_REPORT.md、NPU_ADAPTER_2100_REPORT.md、ADAPTATION_REPORT.md 等验证报告进行整理。
# 【资料变更】
不涉及
# 【接口变更】
不涉及
# 【功能验证】
- 通过统一验证脚本 run_graphpickler_npu_unified.py 运行结果确认:
- NPU 可用:torch.npu.is_available() 返回 true。
- API 存在性:GraphPickler.dumps、GraphPickler.loads、Option 均存在且可调用。
- CPU round-trip:序列化成功,反序列化成功,输出与原始模型一致。
- NPU round-trip:NPU 模型序列化/反序列化成功,NPU 输出完全匹配。
- Option 配置测试:默认/压缩/保留设备信息/包含元数据/完整性校验/二进制格式/全部选项均通过,7/7 通过率 100%。
- 参考验证报告:graphpickler_npu_validation_report.json、NPU_ADAPTER_FULL_REPORT.md、NPU_ADAPTER_2100_REPORT.md 等。
- 已补充 PR 文档,便于 reviewer 直接确认适配结果。
# 【CheckList】
- [x] 代码注释完备,正确记录错误日志
- [x] 代码实现进行了返回值、空指针等校验
- [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等
- [ ] PR持续集成流水线(CI)执行通过,代码检查无异常
See merge request: Ascend/pytorch!34855 | 25 天前 |