yaml文件配置

问题定位

错误信息很明确:

User input march invalid: 'x5'. It should in list ['bernoulli2', 'bayes', 'bayes-e']

原因march 参数应该填芯片代号,不是产品名。

  • RDK X5 对应的芯片是 Bayes-E,应该用 bayes-e
  • x5 是产品名,工具链不识别

解决方案

修改 YAML 中的 march 参数:

model_parameters:
  onnx_model: /workspace/yolo11n-seg.onnx
  march: bayes-e              # 改为 bayes-e,不是 x5
  output_model_file_prefix: /workspace/yolo11n_seg

input_parameters:
  input_name: images
  input_type_rt: nv12
  input_type_train: rgb
  input_layout_train: NCHW
  norm_type: data_scale
  scale_value: 0.003921568627451

calibration_parameters:
  cal_data_dir: /workspace/calibration_images
  cal_data_type: float32

compiler_parameters:
  compile_mode: latency
  optimize_level: O3
  debug: false

完整执行命令

# 重新创建配置文件
cat > /workspace/yolo11n_seg_config.yaml <<'EOF'
model_parameters:
  onnx_model: /workspace/yolo11n-seg.onnx
  march: bayes-e
  output_model_file_prefix: /workspace/yolo11n_seg

input_parameters:
  input_name: images
  input_type_rt: nv12
  input_type_train: rgb
  input_layout_train: NCHW
  norm_type: data_scale
  scale_value: 0.003921568627451

calibration_parameters:
  cal_data_dir: /workspace/calibration_images
  cal_data_type: float32

compiler_parameters:
  compile_mode: latency
  optimize_level: O3
  debug: false
EOF

# 执行转换
hb_mapper makertbin --config /workspace/yolo11n_seg_config.yaml

芯片代号对照表

产品 芯片代号 (march)
RDK X3 / 旭日 X3 bernoulli2
RDK X5 bayes-e
其他 Bayes 系列 bayes

验证转换结果

转换成功后,用以下命令验证模型:

hb_perf /workspace/yolo11n_seg.bin

查看输出是否为 6 个输出头(YOLO11-seg 的特征)。


参考教程从头开始 YOLOV11 自训练模型的板端部署和量化 - 里面有完整的配置示例。