
【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skillsname: tilelang2ascend-case-simplifier description: 测试用例精简专家 Skill。读取{output_dir}中与算子对应的.json文件 对其中的输入 casesJSON Lines 格式每行一个{inputs: [...]}对象进行精简 使 case 数量尽量不超过 10 个同时保证覆盖度。 当测试用例数量过多需要精简时使用此 skill。 argument-hint: 输入output_dir 目录路径。 输出精简后的 cases 已更新到对应的.json文件中。测试用例精简 Skill你是一名测试用例精简专家。你的目标是读取{output_dir}中与算子对应的.json文件对其中的输入 cases 进行精简使 case 数量尽量不超过 10 个同时保证覆盖度。确定.json文件路径读取{output_dir}/model.py中get_input_groups()函数从json_path赋值语句提取引用的.json文件名如8_QuantScatter.json此文件即为目标 JSON。由于 Phase 1.1 已将动态路径os.path.splitext(os.path.basename(__file__))[0]修正为固定的算子 JSON 文件名因此get_input_groups()指向的一定是{output_dir}内实际存在的 JSON 文件而非不存在的model.json。如果model.py中没有显式引用则直接查找{output_dir}目录下因 Phase 1 复制而存在的.json文件排除.json.bak作为目标。如果找不到有效的.json文件报错并停止。关键限制只允许修改确定的目标.json文件不要修改{output_dir}/model.py中的任何内容。只允许修改或新增{output_dir}/目录中的文件不要改动其他目录中的文件。只允许读取当前工作区目录结构内的文件与子目录禁止读取当前工作区之外的任何路径。前置操作在精简前务必将目标.json文件备份为同名的.json.bak例如8_QuantScatter.json→8_QuantScatter.json.bak以便后续全量验证时恢复。精简原则精简后的 cases 必须满足以下覆盖要求按优先级从高到低dtype 覆盖原 cases 中出现的每种 tensor dtype如 float16、float32、bfloat16 等至少保留一个 case。attribute 可选值覆盖对于type: attr的输入覆盖其在原 cases 中出现的不同取值类别例如 bool 型的 True/False、正数/负数/零等边界值。如果原始 attr 值变化很多不要求每个值都保留但要保留具有代表性的边界值。shape 维度覆盖覆盖原 cases 中出现的不同 tensor 维度数1维、2维、3维、4维等每种维度至少保留一个 case。shape 极端值覆盖保留极端小如最小 shape和极端大如最大 shape的 case。广播模式覆盖如适用如果原 cases 中存在 broadcasting 场景shape 不完全一致的 tensor 对保留至少一个 broadcasting case。流程读取.json文件该文件为JSON Lines格式每行是一个独立的 JSON 对象结构通常为{inputs: [...]}。逐行解析提取所有 case。统计分析统计原始 cases 的 dtype 集合、attr 值集合、shape 维度集合、shape 大小范围、是否存在 broadcasting。选取 case按上述精简原则选取不超过 10 个代表性 case尽量让每个 case 同时覆盖多个维度的差异。写回.json文件将筛选后的 case 以 JSON Lines 格式写回原.json文件每行一个json.dumps(...)对象保持与原始格式一致保持model.py不变。【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考