RDK S100 部署包含扩散模型的RISE模型

求助,请问有人将扩散模型部署到RDK S100上过吗,我尝试将RISE 3D模型转换成.hbm模型,使用fp16量化,在RDK S100上运行报“段错误”。

您好!

扩散模型部署到 RDKS100 上确实有一定挑战性。关于您遇到的"段错误"问题,这通常是由于内存访问异常或模型转换配置不当导致的。

建议按以下流程排查:

标准排查流程:

  1. 基础检查

查看系统日志定位错误位置(dmesg)
检查 ION 内存是否充足(扩散模型通常内存需求大)
确认系统版本和工具链版本

  1. Pipeline 检查

摸清楚模型的前后处理流程
确认输入输出的数据格式、维度、数据类型

  1. 建立 Baseline

先用 ONNXRuntime 在 X86 上推理原始浮点 ONNX
确定正确的前后处理实现
验证模型本身的正确性

  1. 使用 Featuremap 模式转换(关键步骤)

将输入类型设置为 NCHW 和 featuremap(train 和 rt 都设置)
前处理类型设置为 no_preprocess
这样 quantized 模型和 bin 模型的前处理与浮点 ONNX 完全一致

  1. 在开发机器上调试

由于 featuremap 在板端 Python 接口无法推理,只能用 C/C++ 推理
调试阶段建议用开发机器的 HB_ONNXRuntime 推理 quantized onnx
在全 featuremap 基础上验证精度和正确性