尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

CANN/cannbot-skills:网络用例映射

CANN/cannbot-skills:网络用例映射
📅 发布时间:2026/7/4 7:32:04

Step 5b:映射网络用例 → S5_mapped_cases_network.json

【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills

前置条件:Step 5a 完成(S5_case_mapper.py + S5_mapped_cases_path.json 已写入)

映射规则:5b 读S5_mapping_spec.md(算子侧规格)+S2P1_low_configs.json(网络侧结构),自行生成映射规则并写回S5_mapping_spec.md§网络用例映射。


输入文件清单见 00-execution-order.md。

1. 目标

将S2P1_low_configs.json映射为与S2P2_cases.json格式一致的S2P2_network_cases.json,然后调用S5_case_mapper.main()复用 5a 全部管道,附加元数据后输出S5_mapped_cases_network.json。

读S5_mapping_spec.md§输入 tensor 的(DYNAMIC)标注识别 DYNAMIC 输入。读S2P1_low_configs.json前 3 条确认字段结构,生成映射规则并写回S5_mapping_spec.md§网络用例映射。

2. 数据流

S5_mapping_spec.md(算子侧:§dtype ~ §验证规则) + S2P1_low_configs.json(网络侧:config 字段结构) │ 5b 分析两侧,生成映射规则 │ 写回 S5_mapping_spec.md §网络用例映射(可审查) ▼ S2P2_network_cases.json(可审查) │ S5_case_mapper.main(network_cases_file, network_out_file, id_prefix="network") ▼ ── 内部经 load_mapped_configs → map_case → validate_config ── S5_mapped_cases_network.json │ 每条附加 _source / _reason 元数据

3. 映射推导

3.0 生成映射规则

读S5_mapping_spec.md(§dtype ~ §验证规则,算子侧)+S2P1_low_configs.json前 3 条(网络侧),分析两侧字段对应关系,生成映射规则并写回S5_mapping_spec.md§网络用例映射。规则包括:

  • 每个 config 字段对应的算子参数名及映射方式(直接 / 乘积 / 透传)
  • DYNAMIC 输入的 tensor_count 来源(config 提供 / 固定值)
  • 缺失参数的默认值

后续 §3.1-3.6 的模式用于将生成的规则翻译为代码。

3.1 直接映射

config 中某字段直接对应算子参数。对应:case["{算子参数名}"] = cfg["{字段路径}"]。

3.2 乘积映射

多个 config 字段的乘积对应一个算子参数。对应:case["{算子参数名}"] = cfg["{字段1}"] * cfg["{字段2}"]。

3.3 dtype 映射

读 S5_mapping_spec.md §dtype 获取 dtype 控制参数名和合法值,对照 config 的 dtypes 字段确定映射。值直接透传。

3.4 attr 补全

对照 S5_mapping_spec.md §shape 构造参数 + §属性,对 low_config 中缺失的算子参数取 default 值,不随机采样。

3.5 tensor_count 映射(DYNAMIC 专用)

读 S5_mapping_spec.md §输入 tensor 中标注(DYNAMIC)的输入,对照 config 字段确定 tensor_count 来源:

  • config 提供:config 中有对应字段(如shapes.tensor_count)→case["{name}_count"] = cfg["{字段路径}"]
  • 固定值:config 中无对应字段 →case["{name}_count"] = {N}(N 在 [min, min(max, 50)] 范围内选取)

3.6 _group

所有网络用例的_group固定为"network"。

4. 代码模板

def map_network_to_path_cases(configs_file): """ 将 S2P1_low_configs.json 转换为 S2P2_network_cases.json 子 agent 从 §3.0 生成的映射规则翻译生成 """ with open(configs_file) as f: configs = json.load(f) cases = [] for config in configs: cfg = config case = {} # ============================================================ # 以下内容由子 agent 翻译生成 # ============================================================ # 直接映射 case["{算子参数名}"] = cfg["{语义名}"] # 乘积映射 case["{算子参数名}"] = cfg["{语义名1}"] * cfg["{语义名2}"] # dtype 映射 case["{算子dtype_param}"] = cfg["{语义名}"] # attr 补全(不采样,取 default) case.setdefault("{算子参数名}", {default}) # tensor_count 映射(DYNAMIC 专用) case["{name}_count"] = cfg["{语义名}"] # 或固定值 # _group 固定 case["_group"] = "network" # ============================================================ cases.append(case) return cases

5. 生成 S2P2_network_cases.json + 调 main

import json, os from S5_case_mapper import main out_dir = os.path.dirname(os.path.abspath(__file__)) low_configs_file = os.path.join(out_dir, "S2P1_low_configs.json") network_cases_file = os.path.join(out_dir, "S2P2_network_cases.json") network_out_file = os.path.join(out_dir, "S5_mapped_cases_network.json") # 1. 语义→算子参数,写 S2P2_network_cases.json(可审查) cases = map_network_to_path_cases(low_configs_file) with open(network_cases_file, "w") as f: json.dump(cases, f, indent=2) print(f"Written {len(cases)} cases to S2P2_network_cases.json") # → 人工审查: 字段名、_group、乘积值、attr 默认值 # 2. 复用 5a 管道 main(network_cases_file, network_out_file, id_prefix="network") # 3. 附加元数据 low_configs = json.load(open(low_configs_file)) with open(network_out_file) as f: mapped = json.load(f) for i, mc in enumerate(mapped["cases"]): mc["_source"] = low_configs[i].get("source") mc["_reason"] = low_configs[i].get("reason") with open(network_out_file, "w") as f: json.dump(mapped, f, indent=2) print(f"Written S5_mapped_cases_network.json")

6. 输出

  • S2P2_network_cases.json— 中间产物,与S2P2_cases.json格式一致,所有字段为算子参数名,_group: "network"
  • S5_mapped_cases_network.json— 最终输出,与S5_mapped_cases_path.json格式一致,每条额外包含_source/_reason

验证说明:main()内部已对每条 network case 执行 L1 校验(validate_config)。L2-L4 验证(S5_verify_mapper.py)仅在 5a 对 path cases 执行——其目的是验证 mapper 函数本身的正确性,5a 通过后即可认为map_case/validate_config逻辑可靠,network cases 复用同一函数无需重复验证。

【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

  • Mhook高级技巧:处理x86/x64兼容性与线程安全的完整指南
  • 深度剖析jupyterlab-vim实现原理:从CodeMirror到Vim模式集成
  • 如何使用Genome与Vapor框架构建现代Swift Web API:完整指南

最新新闻

  • PyTorch实战:CNN卷积神经网络进阶技巧与优化
  • ZFS-inplace-rebalancing进度监控与日志分析完全指南
  • TVA:具身智能的动力引擎与能力底座(系列)
  • 如何快速实现社交媒体数据采集:Python开发者的完整指南
  • Xournal++:一款彻底改变你数字笔记体验的开源手写笔记神器
  • uiv开发实战:从零开始构建一个完整的管理后台界面

日新闻

  • STM32F745VG与MC6470 IMU的高性能姿态控制系统设计
  • 机器不消费,人何以生存
  • AI项目操作手册编写规范与最佳实践

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号