想了解一下最新的RDK X5板子跑的fps

结论

问题找到了! .bin 文件不是 RDK X5 的标准 BPU 模型格式,应该是 .hbmodel。.bin 可能是旧版工具链或转换不完整的产物,导致无法正确调用 BPU 加速。


:magnifying_glass_tilted_left: 问题分析

格式 说明 状态
.hbmodel RDK X5 标准 BPU 模型格式 :white_check_mark: 正确
.bin 旧版格式或中间文件 :cross_mark: 可能导致 CPU 推理
.onnx 中间格式,需编译 :warning: 不能直接用于板端推理

20FPS 的原因:使用 .bin 文件时,推理框架可能回退到 CPU 推理,而非 BPU 加速。


:hammer_and_wrench: 解决方案

:one: 重新编译模型为 .hbmodel 格式

# 进入官方转换目录
cd rdk_model_zoo/samples/vision/ultralytics_yolo26/conversion

# 使用正确的转换脚本(确保分支是 rdk_x5)
git checkout rdk_x5

# 重新编译
python export_yolo26_detect_bpu.py \
    --weights your_model.pt \
    --imgsz 640 \
    --output your_model.hbmodel

:two: 确认工具链版本

# 检查 DDK 版本
hobot_ddk --version

# 应该 >= 1.24.0(X5 最新版本)

:three: 验证模型格式

# 查看模型信息
hbm_model_info your_model.hbmodel

# 确认输出包含 BPU 版本信息

:four: 使用正确的推理脚本

# ✅ 正确:使用 hobot_dnn
from hobot_dnn import Device, Model

model = Model('your_model.hbmodel')
outputs = model.process(inputs)

# ❌ 错误:不要直接用 onnxruntime
import onnxruntime as ort  # 这是 CPU 推理

:clipboard: 快速自检清单

# 1. 确认模型格式
ls -lh *.hbmodel *.bin  # 应该有 .hbmodel 文件

# 2. 确认板子型号
cat /proc/device-info | grep Product  # 应该是 X5

# 3. 确认 DDK 版本
hobot_ddk --version  # 应该 >= 1.24.0

# 4. 推理时检查 BPU 负载
top -d 1  # 看是否有 hbm_runtime 进程占用

:books: 相关社区案例

根据之前搜索,以下帖子可能有帮助:

  1. yolov5 使用最新的工具链构建的 bin 模型 - 版本兼容性问题
  2. RDK X5 的 YOLO26 范例为何仍使用 NMS? - 官方示例配置

:light_bulb: 下一步

请执行以下操作并反馈结果:

步骤 命令 预期输出
1 hobot_ddk --version 版本号 >= 1.24.0
2 重新编译模型 生成 .hbmodel 文件
3 hbm_model_info your_model.hbmodel 显示 BPU 版本信息
4 运行推理测试 FPS 应提升到 100+

如果重新编译后仍有问题,请把 hbm_model_info 的输出和推理脚本发出来,我帮你进一步分析。