如图所示,使用Robogo平台量化工具的RKD S100系列进行快速性能评测模式评测HoloBrain项目导出的encoder.onnx模型时,配置好input-shape,但是对应位置的输入类型是featuremap但是该工具默认的是nv12以及bgr导致运行报错
2026-03-24T16:03:05.277172644+08:00 loc(“projection_mat_inv”): error: ‘hbir.image_convert’ op given the input y size along W axis should be greater than or equal to 16, but get 4
您好,感谢您在 Discourse 社区提交关于 Robogo 平台量化工具的问题。
从您的描述和截图来看,您正在使用 Robogo 平台的 RKD S100 系列进行 快速性能评测模式,对 HoloBrain 项目导出的 encoder.onnx 模型进行推理测试。问题核心是:
在配置好
input_shape后,虽然希望输入类型为featuremap,但工具默认强制设置为nv12和bgr,导致运行时报错:error: 'hbir.image_convert' op given the input y size along W axis should be greater than or equal to 16, but get 4
这表明模型期望的是 feature map(如 NCHW 格式)输入,但底层算子(如 image_convert)被错误地绑定到了图像格式(nv12/bgr)处理路径,从而触发了维度检查失败。
当前搜索结果总结
目前在 Discourse 论坛中,没有直接匹配“Robogo quantization tool input_type_rt input_type_train 无法修改”或“featuremap nv12 bgr 错误”的帖子。说明该问题可能:
- 是较新或较冷门的功能/场景;
- 或者属于平台内部配置限制,未公开文档;
- 也可能是特定模型(HoloBrain encoder.onnx)与平台默认输入预处理逻辑不兼容。
建议解决方案 / 下一步操作
1.
检查模型输入格式是否真的需要 featuremap
请确认:
encoder.onnx的实际输入张量形状和数据类型(可通过onnxruntime或netron查看);- 是否确实应传入
NCHW格式的 feature map,还是应通过预处理转换为图像格式(如 RGB/NV12)?
如果模型设计就是接受 feature map 输入,那么问题根源在于 Robogo 工具未正确支持自定义 input_type_rt —— 这可能是工具的一个 bug 或功能限制。
2.
尝试手动修改 YAML 配置文件(高级用户)
您截图中显示了部分 YAML 配置内容,例如:
input_type_rt: 'featuremap;featuremap;featuremap;nv12;featuremap;featuremap'
input_type_train: 'featuremap;bgr;featuremap;featuremap'
您可以尝试:
- 手动编辑
.yml文件,将所有nv12和bgr替换为featuremap; - 或者在
input_layout_rt中统一设为NCHW; - 注意:某些字段可能被工具自动覆盖,需查看官方文档或联系技术支持。
3.
联系 Robogo 技术支持或社区维护者
由于这是“求助帖”,且当前论坛无相关讨论,建议:
在本帖下方回复,明确说明您使用的模型、平台版本、工具版本,并附上完整的 YAML 配置片段和报错日志。
这样可以帮助其他开发者或官方团队更快定位问题。
补充提示
- 报错中的
projection_mat_inv和hbir.image_convert表明您可能在使用某种视觉/深度估计模型(如 HoloBrain),这类模型常输出特征图而非原始图像。 - 如果您只是想做性能评测,可以考虑先用 ONNX Runtime 直接推理该模型,排除平台工具干扰,再逐步调试输入格式问题。
最后再次感谢您的详细提问!
如果您能提供更多上下文(如 Robogo 平台版本号、工具版本、ONNX 模型结构等),我们可以进一步协助您定位问题根源。
祝调试顺利!![]()
如有后续进展,欢迎回来更新 ![]()
温馨提示:Discourse 搜索默认使用 AND 连接词,若找不到结果,可尝试更简化的关键词组合,比如 “Robogo input_type featuremap”、“HoloBrain onnx input format” 等。
可以附上对应的操作截图等内容
感谢您提供的完整帖子内容!根据当前对话和论坛上下文,我已全面理解您的问题:
问题总结(已确认)
您正在使用 Robogo 平台的 RKD S100 系列,在 快速性能评测模式 下对 HoloBrain 项目导出的 encoder.onnx 模型进行推理测试。
核心错误:
error: 'hbir.image_convert' op given the input y size along W axis should be greater than or equal to 16, but get 4
该错误表明:
底层算子
hbir.image_convert被强制用于处理图像格式(如 NV12/BGR),但实际输入是 featuremap(NCHW)格式,导致维度检查失败(期望宽度 ≥16,实际为4)。
配置现状:
- 您配置了
input_shape; - 希望输入类型为
featuremap; - 但工具默认将
input_type_rt和input_type_train设置为包含nv12和bgr的组合; - YAML 中可见:
input_type_rt: 'featuremap;featuremap;featuremap;nv12;featuremap;featuremap' input_type_train: 'featuremap;bgr;featuremap;featuremap'
当前搜索结果回顾
在 Discourse 论坛中,未找到直接匹配“input_type_rt/input_type_train 无法修改”或“featuremap nv12 bgr 错误”的帖子。说明:
- 此问题可能属于较新功能、特定模型兼容性问题;
- 或者是平台工具的默认行为限制,未开放自定义接口;
- 也可能是 HoloBrain 模型与 Robogo 推理引擎之间的输入格式不一致。
建议解决方案(分步骤执行)
Step 1:确认模型真实输入格式
请使用以下工具验证 encoder.onnx 的实际输入张量:
pip install onnxruntime netron
onnxruntime.SessionOptions()
netron.start('encoder.onnx')
或通过 Python 查看:
import onnx
model = onnx.load('encoder.onnx')
for i, inp in enumerate(model.graph.input):
print(f"Input {i}: {inp.name}, shape={inp.type.tensor_type.shape.dim}, type={inp.type.tensor_type.elem_type}")
如果输入确实是 NCHW 格式(如 [1, 3, 256, 256]),则应强制工具使用 featuremap 输入类型。
Step 2:尝试手动修改 YAML 配置(推荐先备份)
在您的 .yml 文件中,将所有 nv12 和 bgr 替换为 featuremap:
input_type_rt: 'featuremap;featuremap;featuremap;featuremap;featuremap;featuremap'
input_type_train: 'featuremap;featuremap;featuremap;featuremap'
同时检查 input_layout_rt 是否统一设为 NCHW:
input_layout_rt: 'NCHW;NCHW;NCHW;NCHW;NCHW;NCHW'
注意:某些字段可能被工具自动覆盖,建议在运行前清空缓存或重启服务。
Step 3:联系 Robogo 技术支持 / 社区维护者
由于这是“求助帖”,且当前无相关讨论,强烈建议您:
在本帖下方回复,补充以下信息:
- Robogo 平台版本号(如 v1.2.3)
- 工具版本(如 Quantization Tool v2.1)
- ONNX 模型结构截图或关键输入输出节点信息
- 完整的 YAML 配置文件(可脱敏)
- 报错日志全文(含时间戳和模块名)
这将极大帮助官方团队或社区开发者复现并修复此问题。
Step 4:临时替代方案 —— 使用 ONNX Runtime 直接推理
如果平台工具无法调整输入格式,您可以:
- 将
encoder.onnx导入onnxruntime; - 手动构造符合 NCHW 格式的输入张量;
- 运行推理并记录性能指标;
- 对比平台工具结果,判断是否为工具封装层的问题。
示例代码:
import onnxruntime as ort
import numpy as np
sess = ort.InferenceSession("encoder.onnx")
input_name = sess.get_inputs()[0].name
input_data = np.random.randn(1, 3, 256, 256).astype(np.float32) # NCHW
result = sess.run(None, {input_name: input_data})
此方法可绕过 Robogo 工具的限制,用于性能评测或调试。
补充提示
projection_mat_inv和hbir.image_convert是视觉/深度估计模型中常见的算子,通常用于图像空间变换;- 若模型设计上确实需要图像输入(如 RGB/NV12),则需在 ONNX 前端添加预处理节点(如
image_resize,rgb2nv12); - 可考虑使用 ONNX Graph Surfer 或 Netron 可视化模型结构,定位输入节点。
最后提醒
您已在 Discourse 社区提交了非常清晰的问题描述 + 截图 + 日志,这是最佳实践!
请在本帖回复中提供:
- Robogo 平台版本
- 工具版本
- 模型输入形状截图
- 完整 YAML 配置片段
这样我们才能进一步协助您定位是“工具 Bug”、“配置错误”还是“模型不兼容”。
祝您调试顺利!如有任何进展或新问题,请随时更新本帖,我们会持续跟进。
感谢您的耐心与专业提问!![]()
期待看到您成功解决此问题的反馈!
温馨提示:Discourse 搜索默认使用 AND 连接词,若找不到结果,可尝试更简化的关键词组合,比如 “Robogo input_type featuremap”、“HoloBrain onnx input format” 等。
感谢您提供最新的操作配置截图和补充说明!结合您当前的回复,我们已完整掌握以下关键信息:
问题再确认(已更新)
您正在使用 Robogo 平台 RKD S100 系列,在 快速性能评测模式 下运行 HoloBrain 的 encoder.onnx 模型。
核心错误:
error: 'hbir.image_convert' op given the input y size along W axis should be greater than or equal to 16, but get 4
该错误发生在底层算子
hbir.image_convert被强制用于处理图像格式(如 NV12/BGR),但实际输入是 NCHW 格式的 feature map(维度为[1x3x256x320]等),导致宽度检查失败(期望 ≥16,实际为4)。
配置现状(从截图中提取):
- 工具版本:
dcloud_ai_toolchain_ubuntu_22_s100... - 模型:
encoder.onnx - 输入 shape 配置:
imgs:1x3x3x256x320depths:1x3x1x256x320pixels:400x1x2projection_mat_inv:1x3x4x4hist_robot_state:1x1x14x8joint_scale_shift:1x14x2joint_relative_pos:1x14x14
注意:虽然您配置了多个 input-shape,但工具默认仍会将部分输入绑定为图像格式(nv12/bgr),即使您希望它们是 featuremap。
当前进展总结
您已确认:
- 仅使用
hb_compile工具进行模型验证时可以成功 → 说明模型本身无问题; - 在“快速性能评测模式”下运行时报错 → 问题出在 推理引擎或工具封装层的输入预处理逻辑;
- 错误发生在
hbir.image_convert→ 表明工具内部尝试对 feature map 做图像格式转换,这是不兼容的。
推荐解决方案(按优先级排序)
Step 1:【立即可试】手动修改 YAML 配置文件(推荐先备份)
根据您的 YAML 配置片段(来自日志),请将所有 nv12 和 bgr 替换为 featuremap:
input_type_rt: 'featuremap;featuremap;featuremap;featuremap;featuremap;featuremap'
input_type_train: 'featuremap;featuremap;featuremap;featuremap'
input_layout_rt: 'NCHW;NCHW;NCHW;NCHW;NCHW;NCHW'
重要提示:
- 某些字段可能被工具自动覆盖,建议在运行前:
- 清除缓存目录(如
/workspace/output/model_output/) - 重启平台服务或重新登录界面
- 使用
--no-cache或--force-rebuild参数(如有)
- 清除缓存目录(如
Step 2:【验证模型输入格式】使用 Netron 或 ONNX Runtime 查看真实输入结构
请执行以下命令查看模型输入张量的真实形状和类型:
pip install onnxruntime netron
netron.start('encoder.onnx')
或 Python 脚本:
import onnx
model = onnx.load('encoder.onnx')
for i, inp in enumerate(model.graph.input):
print(f"Input {i}: {inp.name}, shape={inp.type.tensor_type.shape.dim}, type={inp.type.tensor_type.elem_type}")
如果输出显示输入是 NCHW 格式(如 [1, 3, 256, 256]),则您的预期是正确的 —— 工具必须支持 featuremap 输入。
Step 3:【临时绕过方案】使用 ONNX Runtime 直接推理
如果上述方法无效,您可以:
- 将
encoder.onnx导入onnxruntime - 手动构造符合 NCHW 格式的输入张量
- 运行推理并记录性能指标
- 对比平台工具结果,判断是否为工具封装层的问题
示例代码:
import onnxruntime as ort
import numpy as np
sess = ort.InferenceSession("encoder.onnx")
input_name = sess.get_inputs()[0].name
input_data = np.random.randn(1, 3, 256, 256).astype(np.float32) # NCHW
result = sess.run(None, {input_name: input_data})
print("Inference completed successfully!")
此方法可完全绕过 Robogo 工具的限制,用于性能评测或调试。
Step 4:【联系官方支持】提交详细信息以推动修复
由于这是“求助帖”,且当前论坛无相关讨论,强烈建议您在本帖下方回复,提供以下信息:
请补充以下内容:
- Robogo 平台版本号(如 v1.2.3)
- 工具版本(如 Quantization Tool v2.1)
- ONNX 模型结构截图(可用 Netron 截图)
- 完整的 YAML 配置文件(可脱敏)
- 报错日志全文(含时间戳、模块名、线程ID等)
- 是否有其他模型也出现类似问题?
这将极大帮助官方团队复现并修复此问题。
补充提示
projection_mat_inv和hbir.image_convert是视觉/深度估计模型中常见的算子,通常用于图像空间变换;- 若模型设计上确实需要图像输入(如 RGB/NV12),则需在 ONNX 前端添加预处理节点(如
image_resize,rgb2nv12); - 可考虑使用 ONNX Graph Surfer 或 Netron 可视化模型结构,定位输入节点。
最后提醒
您已在 Discourse 社区提交了非常清晰的问题描述 + 截图 + 日志,这是最佳实践!
请在本帖回复中提供:
- Robogo 平台版本
- 工具版本
- 模型输入形状截图
- 完整 YAML 配置片段
这样我们才能进一步协助您定位是“工具 Bug”、“配置错误”还是“模型不兼容”。
祝您调试顺利!如有任何进展或新问题,请随时更新本帖,我们会持续跟进。
感谢您的耐心与专业提问!![]()
期待看到您成功解决此问题的反馈!
温馨提示:Discourse 搜索默认使用 AND 连接词,若找不到结果,可尝试更简化的关键词组合,比如 “Robogo input_type featuremap”、“HoloBrain onnx input format” 等。
本地进行指的是用工具链fast perf就会失败对吧,那就不是robogo的问题了,是工具链本身不支持featuremap的快速测评
对的,应该是工具链的问题,不过在Robogo平台进行传统模型转换编译时,input_layout_train参数无法输入多个值,只可以选择一个。
因为无法输入多个值导致量化编译失败报错如下:
请问这个问题应该如何解决
可以直接在交流群反馈,会有人跟进修复问题



