x5 cpu docker提取下载问题

问题原因

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-e
  • input_type_rt: 板端推理输入格式(常用 nv12rgb
  • scale_value: 归一化系数,RGB 输入通常是 1/255 = 0.003921568627451
  • cal_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

  • :white_check_mark: > 0.95: 精度很好
  • :warning: 0.8 - 0.95: 可用,但可能需要调优
  • :cross_mark: < 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

如果还有报错,把完整的错误信息发出来,我帮你分析!