问题原因
hb_mapper quant 命令不存在!正确的量化编译命令是 hb_mapper makertbin。
这是 RDK X5 OE v1.2.8 工具链的标准用法,量化和编译是合并成一步的。
正确的完整流程
步骤 1:模型检查(你已做过)
hb_mapper checker \
--model YOLOv5s.onnx \
--output-dir ./check_result
步骤 2:准备校准数据
# 创建校准数据目录
mkdir -p calib_data
# 放入 20-50 张代表性图片(jpg/png 格式)
# 图片场景应与实际推理场景一致
# 例如:cp /path/to/images/*.jpg calib_data/
步骤 3:创建配置文件(关键!)
创建 yolov5s_config.yaml(注意是 yaml 不是 json):
model_parameters:
onnx_model: 'YOLOv5s.onnx'
march: "bayes-e" # X5 的 BPU 代号
output_model_file_prefix: 'yolov5s_bayese_640x640_nv12'
input_parameters:
input_type_rt: 'nv12' # 板端输入格式
input_type_train: 'rgb' # 训练时输入格式
input_layout_train: 'NCHW'
norm_type: 'data_scale'
scale_value: 0.003921568627451 # 1/255
mean_value: [0, 0, 0]
calibration_parameters:
cal_data_dir: './calib_data'
cal_data_type: 'float32'
calibration_type: 'default' # 可选:default/mix/kl/max
cal_sample_num: 32 # 校准图片数量
compiler_parameters:
compile_mode: 'latency'
debug: true
optimize_level: 'O3'
jobs: 16
关键字段说明:
march: X5 必须填bayes-einput_type_rt: 板端推理输入格式(常用nv12或rgb)scale_value: 归一化系数,RGB 输入通常是1/255 = 0.003921568627451cal_data_dir: 校准数据目录路径cal_sample_num: 使用的校准图片数量(20-50 张)
步骤 4:执行量化编译(正确命令!)
hb_mapper makertbin \
--config yolov5s_config.yaml \
--output-dir ./output
注意:
- 命令是
makertbin不是quant - 不需要
--model参数,模型路径在 yaml 里配置 - 不需要
--model-type参数
步骤 5:验证输出
成功后会生成:
output/
├── yolov5s_bayese_640x640_nv12.bin # 可部署的模型文件
├── yolov5s_bayese_640x640_nv12.prototxt
├── quant_info.json # 量化精度报告(看 cosine similarity)
└── log/ # 编译日志
检查 quant_info.json 中的 cosine_similarity:
> 0.95: 精度很好
0.8 - 0.95: 可用,但可能需要调优
< 0.8: 精度损失严重,需要排查
完整命令速查
# 1. 检查模型
hb_mapper checker --model YOLOv5s.onnx --output-dir ./check_result
# 2. 量化编译(核心命令)
hb_mapper makertbin --config yolov5s_config.yaml --output-dir ./output
# 3. 查看帮助
hb_mapper makertbin --help
# 4. 查看版本
hb_mapper --version
常见问题排查
| 问题 | 解决方案 |
|---|---|
calib_data 格式错误 |
确保是 jpg/png 图片,不是其他格式 |
cosine_similarity 太低 |
增加校准图片数量,或换 calibration_type: mix |
unsupported op |
查看 check_result 报告,某些算子需要 CPU fallback |
| 编译失败 | 检查 yaml 格式,确保缩进正确 |
推荐学习资源
| 资源 | 链接 |
|---|---|
| 量化部署 Skill(含完整决策树) | rdk-x5-toolchain-quantization |
| YOLO 全流程教程 | RDK YOLO Toolkit |
| 官方工具链汇总 | 版本发布帖 |
现在请执行:
hb_mapper makertbin --config yolov5s_config.yaml --output-dir ./output
如果还有报错,把完整的错误信息发出来,我帮你分析!