RKNN Toolkit 核心功能:转换参数与能力清单
三、核心功能:转换参数与能力清单
模型转换的核心是一个 config 与一次 build 调用。下面参数是最常改动的部分,含义按官方 API 文档口径描述:
| 参数 | 作用 | 典型取值与建议 |
|---|---|---|
| target_platform | 指定目标芯片平台 | 必须与真实板卡一致,写错会生成不可用的模型 |
| mean_values / std_values | 预处理归一化参数 | 与训练时一致;写错比不量化掉点更严重 |
| quantized_dtype | 量化数据类型 | 常用 INT8,部分平台支持混合量化 |
| quantized_algorithm | 量化算法 | 如 normal / mmse 等,精度不够时换算法再试 |
| quantized_method | 量化粒度 | per-channel 通常优于 per-tensor,但部分算子受限 |
| optimization_level | 图优化等级 | 等级越高图越精简,但可能触发算子融合副作用 |
| do_quantization | 是否量化 | 先关掉跑一遍 FP16 作为精度基线 |
能力层面上,工具链提供的不止「转换」一件事,还包括:
- 精度分析(accuracy_analysis):给定一批数据,输出每一层与浮点基线的余弦相似度/欧氏距离,用来定位是哪一层掉点。
- 连板调试:通过 adb 直接在板端跑推理并取回中间层张量,避免「PC 上好好的、板子上不对」的扯皮。
- 性能评估:输出每层耗时与整体推理耗时,便于判断瓶颈在 NPU 还是前后处理。
- 零拷贝接口:内存与输入输出张量直接绑定,省掉一次内存拷贝,对高帧率视频流影响明显。
- 多核 NPU 调度:RK3588 这类多核 NPU 可以按核分配任务,多路视频时把不同路分到不同核,比单核串行吞吐更高。

