| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: add excel support Co-authored-by: wangrui<wangrui124@huawei.com> # message auto-generated for no-merge-commit merge: !185 merge br_aclnn into master feat: add excel support Created-by: wangrui_ Commit-by: wangrui Merged-by: cann-robot Description: ### 当前PR是否有AI参与: [ ] 否 [x] 是 1. AI Agent 平台: opencode 2. AI 模型: glm-5.2 3. Prompt上下文: TTK 4 通路 Excel 用例输入适配 ### PR功能描述 / 为什么需要这个合入**: 为 4 条测试通路(Kernel/GEIR/ACLNN/E2E)增加 Excel(.xlsx/.xlsm) 用例输入支持,与 CSV 等价、可互换。 - 新增表格读取层 ttk/utilities/table_reader.py(read_table/read_csv_rows/resolved_sheet),CSV 走标准库、XLSX 走 openpyxl,单元格统一 str+strip 对齐 CSV 行为。 - UniversalTestcaseFactory 新增 from_path(path, sheet),4 通路共用,模式自动识别与字段解析零改动。 - CLI 新增 --sheet(默认首个工作表,CSV 忽略);_detect_framework 改用 read_table 兼容 xlsx。 - InstanceBase 按后缀路由 xlsx(避免误入 zip);默认输出名嵌入实际 sheet 名(如 cases_T2_result.csv),多 sheet 互不覆盖;输出仍为 CSV。 - SWITCHES 新增 sheet 字段;新增 openpyxl>=3.1 依赖。 - 新增每通路多 sheet xlsx 示例及各 Case Writing / Test Guide / Task_Execution / Test_Case_Generation / AGENTS 文档说明。 - 顺手清理 instance_base / testcase_manager / testcase_aclnn / classes / utilities.__init__ 既有 ruff 告警(E722/B904/UP031/F841/F821/F401/F403/B007)。 ### 该PR关联的issue fixes #127 ### 希望检视人员了解: - xlsx 单元格一律按文本处理(None→""、str()+strip),与 CSV 一致;数值列建议在 Excel 中预设为文本格式,避免 01→1、1e-8→浮点等类型推断。 - 同一 xlsx 用 --sheet 跑不同 sheet,输出名各异、互不覆盖。 - dOut 从 ACLNN backward 排除名移除(代码 + 文档一致)。 ## 测试 - 4 通路 --validate 全过(kernel 4 / geir 2 / aclnn 2 / e2e 4 用例均 valid)。 - kernel 端到端 ttk kernel -i examples/case_store/kernel/add.xlsx --sheet T2:编译 SUCC、精度 PASS、4/4 PASS。 ## 文档更新 - docs/Task_Execution.md:通用参数表新增 --sheet,--input 说明改 csv/xlsx。 - docs/Test_Case_Generation.md:新增「输入文件格式(CSV / Excel)」小节。 - docs/Operator_Test_Guides/*_Test_Guide.md:各通路「常用场景示例」补 xlsx 多 sheet 命令。 - docs/Operator_Test_Guides/*_Case_Writing.md:各通路「参考用例」表补每个 csv 的验证特性与关键列。 - AGENTS.md / examples/case_store/README.md:xlsx 说明。 ## 类型标签 - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他 See merge request: cann/ops-test-kit!185 | 1 个月前 | |
fix: GEIR 模板按 CANN 头文件探测过滤 DT 枚举与 ge_prof 依赖,修复旧版本 CANN 编译失败问题 Co-authored-by: FishPotatoChen<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !240 merge fixbug4 into master fix: GEIR 模板按 CANN 头文件探测过滤 DT 枚举与 ge_prof 依赖,修复旧版本 CANN 编译失败问题 Created-by: FishPotatoChen Commit-by: FishPotatoChen Merged-by: cann-robot Description: <!-- 感谢您的合入申请! --> ### 当前PR是否有AI参与: [x] 否 [ ] 是 __1. AI Agent 平台: __2. AI 模型: __3. Prompt上下文 : ### PR功能描述 / 为什么需要这个合入**: GEIR 模式生成的算子模板 cpp 中硬编码了较新的 DT_* 枚举(如 DT_HIFLOAT4)和 ge_prof.h 依赖,导致在旧版本 CANN(如 8.5.0)环境下编译失败。本 PR 新增 detect_cann_features() 探测已安装 CANN 头文件(graph/types.h、ge/ge_prof.h),按探测结果过滤模板中生成的 DT 枚举分支与 ge_prof 相关代码,使同一模板可同时兼容新旧版本 CANN。同时为 npu_conv2d 示例用例补充输出 shape。 ### 该PR关联的issue *(格式为fixes #<issue号>, 或者resolves #<issue号>)*: fixes [#167](https://gitcode.com/cann/ops-test-kit/issues/167) ### 希望检视人员了解: - 头文件探测失败(找不到 Ascend 安装或 types.h)时保持原有未过滤行为,不影响新版本 CANN 环境 - 探测结果做了缓存(_CANN_FEATURES),单进程内只探测一次 - 附带少量代码清理:补充 License 头、subprocess.run 显式 check=False、contextlib.suppress 替代 try/except pass ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - 更新并运行 tests/core_modules/geir/test_geir_complex_dtype.py 单测,验证新模板参数渲染结果正确 - 在旧版本 CANN(8.5.0)环境验证 GEIR 用例可正常编译执行,新版本 CANN 环境回归无影响 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-test-kit!240 | 22 天前 | |
feat: add excel support Co-authored-by: wangrui<wangrui124@huawei.com> # message auto-generated for no-merge-commit merge: !185 merge br_aclnn into master feat: add excel support Created-by: wangrui_ Commit-by: wangrui Merged-by: cann-robot Description: ### 当前PR是否有AI参与: [ ] 否 [x] 是 1. AI Agent 平台: opencode 2. AI 模型: glm-5.2 3. Prompt上下文: TTK 4 通路 Excel 用例输入适配 ### PR功能描述 / 为什么需要这个合入**: 为 4 条测试通路(Kernel/GEIR/ACLNN/E2E)增加 Excel(.xlsx/.xlsm) 用例输入支持,与 CSV 等价、可互换。 - 新增表格读取层 ttk/utilities/table_reader.py(read_table/read_csv_rows/resolved_sheet),CSV 走标准库、XLSX 走 openpyxl,单元格统一 str+strip 对齐 CSV 行为。 - UniversalTestcaseFactory 新增 from_path(path, sheet),4 通路共用,模式自动识别与字段解析零改动。 - CLI 新增 --sheet(默认首个工作表,CSV 忽略);_detect_framework 改用 read_table 兼容 xlsx。 - InstanceBase 按后缀路由 xlsx(避免误入 zip);默认输出名嵌入实际 sheet 名(如 cases_T2_result.csv),多 sheet 互不覆盖;输出仍为 CSV。 - SWITCHES 新增 sheet 字段;新增 openpyxl>=3.1 依赖。 - 新增每通路多 sheet xlsx 示例及各 Case Writing / Test Guide / Task_Execution / Test_Case_Generation / AGENTS 文档说明。 - 顺手清理 instance_base / testcase_manager / testcase_aclnn / classes / utilities.__init__ 既有 ruff 告警(E722/B904/UP031/F841/F821/F401/F403/B007)。 ### 该PR关联的issue fixes #127 ### 希望检视人员了解: - xlsx 单元格一律按文本处理(None→""、str()+strip),与 CSV 一致;数值列建议在 Excel 中预设为文本格式,避免 01→1、1e-8→浮点等类型推断。 - 同一 xlsx 用 --sheet 跑不同 sheet,输出名各异、互不覆盖。 - dOut 从 ACLNN backward 排除名移除(代码 + 文档一致)。 ## 测试 - 4 通路 --validate 全过(kernel 4 / geir 2 / aclnn 2 / e2e 4 用例均 valid)。 - kernel 端到端 ttk kernel -i examples/case_store/kernel/add.xlsx --sheet T2:编译 SUCC、精度 PASS、4/4 PASS。 ## 文档更新 - docs/Task_Execution.md:通用参数表新增 --sheet,--input 说明改 csv/xlsx。 - docs/Test_Case_Generation.md:新增「输入文件格式(CSV / Excel)」小节。 - docs/Operator_Test_Guides/*_Test_Guide.md:各通路「常用场景示例」补 xlsx 多 sheet 命令。 - docs/Operator_Test_Guides/*_Case_Writing.md:各通路「参考用例」表补每个 csv 的验证特性与关键列。 - AGENTS.md / examples/case_store/README.md:xlsx 说明。 ## 类型标签 - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他 See merge request: cann/ops-test-kit!185 | 1 个月前 | |
fix: data_range 值域分布 Co-authored-by: wangrui<wangrui124@huawei.com> # message auto-generated for no-merge-commit merge: !205 merge br_bugfix into master fix: data_range 值域分布 Created-by: wangrui_ Commit-by: wangrui Merged-by: cann-robot Description: <!-- 感谢您的合入申请! --> ### 当前PR是否有AI参与: [x] 否 [ ] 是 __1. AI Agent 平台: __2. AI 模型: __3. Prompt上下文 : ### PR功能描述 / 为什么需要这个合入**: 修复 issue #135:全值域数据生成(如 [[-3.3895313892515355e+38, 3.3895313892515355e+38]])当前使用 uniform 均匀分布,在极大区间下生成的几乎全是大数据(97% 落在 1e37~1e38 量级),经过计算极其容易溢出,不符合区间语义。 **根因**:浮点数可表示值中大值区间的"体积"远大于小值区间,线性 uniform 采样会让大值占绝对多数,小数几乎无法生成。 **修复方案**:对齐 ATK 的指数分布法(尾数 × 10^随机指数),使各量级概率均等: 1. 新增 _is_full_value_range(dtype, low, high):判定浮点类型且 low/high 覆盖到该 dtype 完整值域(相对容差 99%、跨零对称)。[-inf, inf] 与 [-3.389e+38, 3.389e+38](bf16 max) 均命中。 2. 新增 _gen_exponential_data(dtype, shape):复刻 ATK data_torch.py:41-58 —— 尾数 uniform(-1,1) × 10^randint(log10(tiny), log10(max)),各量级概率均等。 3. 在 _random 的 default 分支接入:仅 distribution=="uniform" 且命中全值域时走指数法;其余(小范围、normal、hifloat4、float64、torch 大张量路径)行为不变。 4. 边界值由既有 _mix_expect_data 自动混入 ±max/±0,补上 ATK 不碰边界的短板。 **生成效果对比**(fp16, shape=720, range=[-65504, 65504]): - 修改前 uniform:量级 e2~e4(仅3档),85% 的值 >1e4,小数 0 个 - 修改后 指数法:量级 e-5~e4 共 10 档均匀分布,小数 142 个,无 inf/nan ### 该PR关联的issue *(格式为fixes #<issue号>, 或者resolves #<issue号>)*: fixes #135 ### 希望检视人员了解: - 改动仅影响"浮点全值域 + uniform 分布"这一支,小范围区间(如 [-1,1])、normal 分布、int 类型等行为不变 - 顺带修了 CI 门禁卡的两个既有 lint 违规(S307: eval→int、C410: 冗余 list() 调用),均为等价替换 ## 测试 - 新增 3 组回归测试(tests/utilities/test_data.py):全值域 fp32/fp16 覆盖多量级且无 inf、显式 bf16 max 触发指数法、小范围不误触发 - 全量回归:tests/utilities/ + tests/core_modules/manual_data/ + tests/core_modules/npu/test_custom_input_ori_sync.py 共 160 项通过 - ruff 零新增违规 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-test-kit!205 | 1 个月前 | |
feat: add excel support Co-authored-by: wangrui<wangrui124@huawei.com> # message auto-generated for no-merge-commit merge: !185 merge br_aclnn into master feat: add excel support Created-by: wangrui_ Commit-by: wangrui Merged-by: cann-robot Description: ### 当前PR是否有AI参与: [ ] 否 [x] 是 1. AI Agent 平台: opencode 2. AI 模型: glm-5.2 3. Prompt上下文: TTK 4 通路 Excel 用例输入适配 ### PR功能描述 / 为什么需要这个合入**: 为 4 条测试通路(Kernel/GEIR/ACLNN/E2E)增加 Excel(.xlsx/.xlsm) 用例输入支持,与 CSV 等价、可互换。 - 新增表格读取层 ttk/utilities/table_reader.py(read_table/read_csv_rows/resolved_sheet),CSV 走标准库、XLSX 走 openpyxl,单元格统一 str+strip 对齐 CSV 行为。 - UniversalTestcaseFactory 新增 from_path(path, sheet),4 通路共用,模式自动识别与字段解析零改动。 - CLI 新增 --sheet(默认首个工作表,CSV 忽略);_detect_framework 改用 read_table 兼容 xlsx。 - InstanceBase 按后缀路由 xlsx(避免误入 zip);默认输出名嵌入实际 sheet 名(如 cases_T2_result.csv),多 sheet 互不覆盖;输出仍为 CSV。 - SWITCHES 新增 sheet 字段;新增 openpyxl>=3.1 依赖。 - 新增每通路多 sheet xlsx 示例及各 Case Writing / Test Guide / Task_Execution / Test_Case_Generation / AGENTS 文档说明。 - 顺手清理 instance_base / testcase_manager / testcase_aclnn / classes / utilities.__init__ 既有 ruff 告警(E722/B904/UP031/F841/F821/F401/F403/B007)。 ### 该PR关联的issue fixes #127 ### 希望检视人员了解: - xlsx 单元格一律按文本处理(None→""、str()+strip),与 CSV 一致;数值列建议在 Excel 中预设为文本格式,避免 01→1、1e-8→浮点等类型推断。 - 同一 xlsx 用 --sheet 跑不同 sheet,输出名各异、互不覆盖。 - dOut 从 ACLNN backward 排除名移除(代码 + 文档一致)。 ## 测试 - 4 通路 --validate 全过(kernel 4 / geir 2 / aclnn 2 / e2e 4 用例均 valid)。 - kernel 端到端 ttk kernel -i examples/case_store/kernel/add.xlsx --sheet T2:编译 SUCC、精度 PASS、4/4 PASS。 ## 文档更新 - docs/Task_Execution.md:通用参数表新增 --sheet,--input 说明改 csv/xlsx。 - docs/Test_Case_Generation.md:新增「输入文件格式(CSV / Excel)」小节。 - docs/Operator_Test_Guides/*_Test_Guide.md:各通路「常用场景示例」补 xlsx 多 sheet 命令。 - docs/Operator_Test_Guides/*_Case_Writing.md:各通路「参考用例」表补每个 csv 的验证特性与关键列。 - AGENTS.md / examples/case_store/README.md:xlsx 说明。 ## 类型标签 - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他 See merge request: cann/ops-test-kit!185 | 1 个月前 |
目的
- 1个算子1个用例,用于用例书写借鉴。
- 作为门槛,TTK任何改动必须执行这里的用例。
- xlsx 示例验证 CSV 与 Excel 输入等价、多 sheet 选择(
--sheet)与默认输出命名。
各通路每个用例的「验证特性 + 关键列」详见对应 Case Writing 指南: Kernel · GEIR · ACLNN · E2E。
Excel(.xlsx)多 sheet 示例
每通路一个 2-sheet 工作簿(T1/T2),验证 xlsx 输入与 --sheet 切换(默认首个工作表;默认输出名带实际 sheet 名,如 add_T2_result.csv,多 sheet 互不覆盖):
运行示例:
python3 -m ttk kernel -i examples/case_store/kernel/add.xlsx # 默认首个 sheet
python3 -m ttk kernel -i examples/case_store/kernel/add.xlsx --sheet T2