rdk-x5-toolchain-quantization

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

地瓜 RDK X5 OpenExplorer 工具链(OE v1.2.8)PTQ 量化的**工具链层 Skill**(不含 YOLO 训练 / ROS2 部署,端到端用 yolo-rdkx5-deploy)。当需要把任意 ONNX 转成 RDK X5 的 .bin / .hbm 时调用,覆盖:环境(Docker 镜像 / OE SDK / 离线包)、`hb_mapper checker` 算子预检、校准数据(nv12 / featuremap / .rgbchw / .yuv)、yaml 配置(`calibration_type` / `node_info` / `optimization`)、`hb_mapper makertbin` 编译、精度(cosine / `hb_verifier` / `hb_mapper infer`)与性能(`hb_perf` / `hrt_model_exec`)评估、精度调优(敏感算子 / int16 / featuremap 兜底)。模型无关,适用于 YOLO/ResNet/ViT/Transformer 等任意 ONNX。当用户提到 hb_mapper、hb_perf、hrt_model_exec、PTQ、量化 ONNX、转 .bin、转 .hbm、校准数据、calibration_type、featuremap、RDK X5 工具链、OE 1.2.8、精度掉点、cosine 不达标、BPU 利用率 等关键词,或在 RDK X5 部署场景下处理 ONNX → 板端可执行产物时使用。

一句话选型结论

按资料字段整理

rdk-x5-toolchain-quantization是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_76096a1e/rdk-x5-toolchain-quantization
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_76096a1e仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791726063
正文体量8.9 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
rdk-x5-toolchain-quantization当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

8.9 KB
模型实际读到的说明书原文,来自技能仓库

RDK X5 OpenExplorer 工具链 PTQ 量化

模型无关的 PTQ 量化工作流,把任意 ONNX 转为 RDK X5 可部署的 .bin 产物,
基于 D-Robotics OpenExplorer v1.2.8 (py310) 工具链。

> 首次使用先装环境:按 references/setup.md 拉好 OE Docker 镜像(CPU 版即够)。所有 hb_mapper* / hb_perf 命令都必须在 OE Docker 容器内执行;hrt_model_exec 是板端工具,需把 .bin 拷到板上跑。

When to use

  1. 拿到 ONNX 想转 RDK X5 的 .bin / .hbm
  2. 编写或修改 hb_mapper makertbin 的 yaml 配置
  3. 量化后 cosine similarity 低 / 板端结果与浮点不一致(精度掉点诊断)
  4. hb_mapper checker 报算子不支持,需要规避策略
  5. 已编译模型性能不达预期,要看 BPU 利用率 / 优化编译策略
  6. 准备校准集时不确定格式、数量、归一化对齐
  7. OE 工具链环境装不上(Docker / SDK / 依赖冲突)

When NOT to use

  • 端到端 YOLO 训练 → 量化 → 板端 → ROS2 部署:用 RDK YOLO Toolkit
  • RDK X3 / Ultra / S100 等其它芯片:本 Skill 只针对 X5 OE v1.2.8
  • QAT(量化感知训练):本 Skill 只覆盖 PTQ
  • 仅需要 ONNX 导出(不量化):用 PyTorch / TF 自身工具

主流程(5 步)

Step 1 — hb_mapper checker 算子预检 [Docker 内]

hb_mapper checker --model-type onnx --march bayes-e --model ./your_model.onnx

读 hb_mapper_checker.log 看 BPU / CPU 算子分布。若出现 "unsupported op",
查 references/troubleshooting.md §1(hb_mapper checker 报错)找规避策略
(替换为等效算子 / 用 yaml custom_op_method: register 注册自定义算子)。

Step 2 — 校准数据准备(默认 nv12 路径,归一化交给 yaml) [开发机,宿主机或容器内均可]

# prepare_calibration.py —— 与 Model Zoo ultralytics_yolo/conversion/mapper.py 一致
import cv2, numpy as np
from pathlib import Path

SRC, OUT = Path('./cal_src'), Path('./calibration_data')
OUT.mkdir(exist_ok=True)
W, H, NUM = 640, 640, 20      # 20 起步;>50 校准会很慢

jpgs = [p for p in SRC.iterdir() if p.suffix.lower() in ('.jpg', '.png', '.jpeg')]
if len(jpgs) > NUM:
    idx = np.random.choice(len(jpgs), NUM, replace=False)
    jpgs = [jpgs[i] for i in idx]

for p in jpgs:
    img = cv2.imread(str(p))                       # BGR uint8 HWC
    x = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)       # → RGB(对齐 input_type_train)
    x = cv2.resize(x, (W, H))                      # 直接 resize(YOLO 训练即如此)
    x = np.transpose(x, (2, 0, 1))                 # HWC → CHW
    x = np.expand_dims(x, 0).astype(np.float32)    # NCHW float32,[0, 255] 原始像素
    x.tofile(OUT / (p.stem + '.rgbchw'))           # raw bytes,不做归一化

关键约束:

  1. 数量:20 张起步。Model Zoo 警告阈值 < 20(校准可能失败)/ > 50(耗时长)。
  2. 代表性:从训练/验证集随机采样,覆盖典型场景。不要全简单也不要全 hard case。
  3. 预处理对齐:脚本里的 resize 方式、通道顺序必须与训练时一致。nv12 路径下归一化不在脚本里做,由 yaml 的 norm_type + scale_value 完成。
  4. 落盘格式:每张图一个 raw bytes 文件,tensor.tofile(path) 直接写。不能用 .npy:.npy 头部 128 字节会被 hb_mapper 当成数据塞进 tensor,校准统计错位。
  5. 形状校验:每个文件大小必须等于 N×C×H×W×4 bytes。文件后缀仅是惯例(Model Zoo 用 .rgbchw 表语义)。

更详细的格式/路径选择 → references/calibration.md。

Step 3 — yaml 配置(4 处必改) [开发机]

# RDK X5 OE v1.2.8 — PTQ 默认模板(nv12 部署路径,归一化由 hb_mapper 完成)
# 必改:onnx_model / output_model_file_prefix / cal_data_dir / scale_value(如非 1/255)

model_parameters:
  onnx_model: './your_model.onnx'                            # 必改
  march: 'bayes-e'                                            # X5 固定
  layer_out_dump: False
  working_dir: 'bpu_model_output'
  output_model_file_prefix: 'your_model_bayese_640x640_nv12'  # 必改

input_parameters:
  input_name: ''                                              # 留空 = 自动取 ONNX input
  input_type_rt: 'nv12'                                       # 板端运行时输入类型
  input_type_train: 'rgb'                                     # 训练时输入类型
  input_layout_train: 'NCHW'
  norm_type: 'data_scale'                                     # 归一化交给 hb_mapper
  scale_value: 0.003921568627451                              # 1/255;按训练 std 改

calibration_parameters:
  cal_data_dir: './calibration_data'                          # 必改
  cal_data_type: 'float32'
  calibration_type: 'default'                                 # 掉点严重时换 mix/kl/max/load
  optimization: set_Softmax_input_int8,set_Softmax_output_int8

compiler_parameters:
  jobs: 16                                                    # 编译并行进程数,按机器核心数;Model Zoo 默认用 2
  compile_mode: 'latency'                                     # 推理优先;面积优先用 bandwidth
  debug: true
  optimize_level: 'O3'                                        # O0~O3,O3 最优

全字段(70+)/ 输入类型矩阵(nv12 / rgb / bgr / yuv444 / featuremap)→ references/yaml-reference.md。

Step 4 — hb_mapper makertbin 编译 [Docker 内]

hb_mapper makertbin --config config.yaml --model-type onnx

产物:

  • <prefix>.bin — 部署产物
  • <prefix>_quantized_model.onnx — 定点 ONNX(精度比对用)
  • <prefix>_original_float_model.onnx、<prefix>_optimized_float_model.onnx
  • hb_mapper_makertbin.log + 编译报告 html

日志阅读 / 编译报错 → references/troubleshooting.md。

Step 5 — 精度 & 性能验证

精度(开发机 Docker 内):

# 量化 ONNX 推理(注意:必须用 horizon 提供的 hb_mapper infer,不能用裸 onnxruntime
# 因为量化模型含 HzQuantize/HzDequantize 自定义算子)
hb_mapper infer --config config.yaml \
                --model-file <prefix>_quantized_model.onnx \
                --model-type onnx \
                --image-file <input_node_name> sample.rgbchw \
                --input-layout NCHW \
                --output-dir infer_out/

# hb_verifier 端到端校验(quanti.onnx + bin 二选一组合,逗号分隔;-s 用模拟器,-b 板端)
hb_verifier -m <prefix>_quantized_model.onnx,<prefix>.bin -s True -i sample.rgbchw

阈值:分类 cosine ≥ 0.99 / 检测·分割 ≥ 0.95。不达标 → references/accuracy-tuning.md(含 featuremap 兜底路径)。完整精度评估方法(自写 cosine 脚本、*_original_float_model.onnx 对比、CI gate)见 references/accuracy.md。

性能(编译期,开发机):

hb_perf <prefix>.bin
# 输出 hb_perf_result/<model_name>/<model_name>.html,含 BPU 利用率 / latency 估算 / 算子耗时分布

性能(板端,可选):

# 注意:所有 hrt_model_exec 参数都是下划线分隔(不是连字符)
hrt_model_exec perf --model_file=<prefix>.bin --core_id=0 --thread_num=1 --profile_path="."

详细优化技巧 → references/performance.md。

何时读 references

场景 文件
装 OE / Docker / 文档 references/setup.md
改 yaml 高级字段、切输入类型 references/yaml-reference.md
校准数据格式 / 数量 / featuremap 路径 references/calibration.md
精度评估方法、cosine 阈值(含 Transformer ≥0.95 / Pose ≥0.97) references/accuracy.md
精度掉点调优(核心) references/accuracy-tuning.md
BPU 利用率 / 板端 latency 优化 references/performance.md
编译/校准/部署阶段报错 references/troubleshooting.md

常见问题

5 问
答案由本站依据条目字段整理
rdk-x5-toolchain-quantization怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_76096a1e/rdk-x5-toolchain-quantization。安装方式为未标注。装完刷新技能列表或重开客户端。

rdk-x5-toolchain-quantization支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

rdk-x5-toolchain-quantization权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

rdk-x5-toolchain-quantization收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

rdk-x5-toolchain-quantization用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。