已合并
[test] Add torch.autograd.profiler_util.StringTable.values Api Coverage #42021
[test] Add torch.autograd.profiler_util.StringTable.values Api Coverage #42021
已合并
lihaokun-2026创建于 7月18日
lihaokun-2026
lihaokun-2026
7月18日

【合入来源】

#2928

【修改方案】

  1. API 功能说明:

    • torch.autograd.profiler_util.StringTable.valuesStringTable 继承自 defaultdictvalues() 返回当前 string table 中所有 value 的动态视图,用于获取 profiler 字符串映射表中的值集合。
  2. 上游用例检查情况:

    检索 PyTorch / Torch-NPU 现有测试后,未找到面向 torch.autograd.profiler_util.StringTable.values 的独立、直接、最小验证用例,因此按任务要求新增 NPU API 验证用例。

  3. 新增用例文件:

    • test_profiler_util_string_table_values.py
  4. 新增用例覆盖场景:

    • StringTable.values() 在空表场景下返回空 ValuesView
    • 显式写入 key/value 后,values() 返回全部 value
    • 访问缺省 key 触发 StringTable.__missing__ 后,values() 可读取自动写入的 value
    • 单字符 key 保持原值,不触发 demangle 变更
    • values() 返回动态视图,后续新增元素可被已有 view 感知
    • torch_npu 环境下验证 privateuse1 backend 为 npu
  5. 新增文件头部已按要求补充注释,说明该文件验证的 API 功能。

【资料变更】

不涉及。未修改产品资料、接口说明文档或用户可见文档。

【接口变更】

不涉及。未修改跨代码仓接口,也未修改用户可见接口行为。

【功能验证】

测试环境:

torch: 2.12.0+cpu
torch_npu: 2.12.0

测试方法:

source /usr/local/Ascend/ascend-toolkit/set_env.sh
TORCH_DEVICE_BACKEND_AUTOLOAD=1 python3 test/test_profiler_util_string_table_values.py -v

测试结果:
image.png

【CheckList】

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

likedislike
Pull Request已成功合入, 合并人@ascend-robot
(感谢 lihaokun-2026 的贡献)
lihaokun-2026lihaokun-2026
7月18日 创建了 pull request,commit ed5fd81a
lihaokun-2026lihaokun-2026
7月18日 关联了issue:【社区任务】7月社区任务第二期-Ascend for PyTorch API 一致性开发(68)
atomgit-bot
atomgit-bot
7月18日 评论:

变更摘要

本 PR 为 torch.autograd.profiler_util.StringTable.values 接口新增了独立的 API 功能验证用例,覆盖空表、显式写入、__missing__ 自动插入、短字符串免 demangle、动态视图更新及 torch_npu 环境下的后端验证等场景。

主要改动

  • 新增测试文件:添加 test/test_profiler_util_string_table_values.py,包含 6 个以 torch_npu 环境为运行背景的 unittest 测试用例。
  • 空表场景验证test_values_empty_string_table 断言空 StringTable 调用 values() 返回空的 ValuesView 实例,列表化后为空列表。
  • 显式写入与缺省键场景test_values_contains_explicit_items 验证显式写入的 key/value 对可通过 values() 完整获取;test_values_reflects_missing_key_insertion 验证访问缺失键触发 __missing__ 自动插入后的值可被 values() 读取。
  • 短字符串与动态视图行为test_values_keeps_short_key_unchanged 确认单字符键不触发 demangle 转换;test_values_view_updates_after_mutation 验证 values() 返回的是动态视图,后续表内新增元素可被已有视图感知。
  • NPU 环境校验test_values_runs_in_torch_npu_environment 调用 torch._C._get_privateuse1_backend_name() 确认当前后端名称为 "npu",保证测试在正确的硬件环境下执行。
likedislike
atomgit-bot
atomgit-bot
7月18日 评论:

代码审查

审查完成:已审查 1 个变更文件

  • test/test_profiler_util_string_table_values.py ✅ 已审查(发现 1 个问题)

发现汇总

优先级 数量
P0 0
P1 0
P2 0
P3 1

整体风险判断:低。 该变更为新增测试文件,测试逻辑整体正确,覆盖了空表、显式写入、__missing__ 自动插入、短字符串保持、动态视图更新等场景。唯一的问题是 test_values_runs_in_torch_npu_environment 方法名与实际测试内容不匹配——该方法仅校验了 backend 名称是否为 "npu",并未实际调用 StringTable.values(),与同仓库其他测试文件的惯用模式(在 setUp() 中进行环境校验)存在偏差。该问题不影响功能的正确性验证,但降低了测试的语义清晰度。

⚠️ 已识别出整体风险,但无法提取行内评论,请参考整体评估。

likedislike
此处折叠了112条消息 查看更多
梁松伟
梁松伟成员
18 天前 评论:

/approve

likedislike
ascend-robotascend-robot成员
18 天前 添加了label:approvedlgtm
ascend-robotascend-robot成员
18 天前 合入了pull request
ascend-robot
ascend-robot成员
18 天前 评论:

Pull Request 已合并或已关闭。

If you want to solve this problem, you can click here to do it in the FAQs.

likedislike
ascend-robot
ascend-robot成员
18 天前 评论:
流水线 pytorch_gitcode_PR_multiVersion#13552 [ commitID:e4a42a59 ] 已完成
likedislike