专栏算法工具链onnx模型转换,当input_type_rt为nv12,NCHW中N=4时插入转换节点报错

onnx模型转换,当input_type_rt为nv12,NCHW中N=4时插入转换节点报错

已解决
青芒-阿白2025-06-06
98
6

错误:

loc(unknown): error: insert image convert/resize for batched input is not allowed, got 4

环境:J6M,OE:v3.0.31,

onnx的batch固定为4(NCHW, N=4)

配置如下:

input_type_rt: 'nv12'

input_type_train: 'bgr'

input_layout_train: 'NCHW'

input_shape: '4x3x512x1152'

(将input_type_rt改为bgr可以正常转换)

看起来是插入图像格式转接节点报错,请问应该怎么修改

错误log如下:

算法工具链
征程6
评论4
0/1000
  • DR_KAN
    Lv.4

    建议导出一个batch为1的模型,然后利用yaml的 input_batch 和 separate_batch 编译多batch模型,这样对量化工具链会比较友好

    2025-06-06
    0
    2
    • 青芒-阿白回复DR_KAN:
      batch=1的onnx模型在转换时也遇到了转换出错的问题,然后我就尝试直接在onnx上将batch设置为4,遇到了另一个问题
      目前的情况是用batch1和batch4的模型转换为多batch都失败了
      batch1的onnx模型,设置 input_batch: 4,报错如下:
      2025-06-06
      0
    • 青芒-阿白回复DR_KAN:
      补充batch1,input_batch:4的错误信息:
      ERROR *** ERROR-OCCUR-DURING hmct.api.build_model ***, error message: There is an ERROR during shape inference, error message: [ShapeInferenceError] Inference error(s): (op_type:Add, node name: /dense_model/Add): [ShapeInferenceError] Incompatible dimensions (op_type:Add, node name: /dense_model/Add_1): [ShapeInferenceError] Incompatible dimensions
      2025-06-06
      0
  • Huanghui
    Lv.5

    你好,这个问题你可以使用如下方式进行处理:

    1.input_shape 的batch可以为4,但是请务必先将input_type_train和input_type_rt参数配置为featuremap,然是 使⽤ hb_compile⼯具⽣成 *ptq_model.onnx 进行模型编译,提示:编译命令可以使用--skip compile参数加速。

    2. 使用如下代码对生成的 *ptq_model.onnx 进行二次处理:沿batch维度拆开,并插⼊ 前处理节点和格式转换节点 ,并进行编译。

    你好,这个问题你可以使用如下方式进行处理:

    1.input_shape 的batch可以为4,但是请务必先将input_type_train和input_type_rt参数配置为featuremap,然是 使⽤ hb_compile⼯具⽣成 *ptq_model.onnx 进行模型编译,提示:编译命令可以使用--skip compile参数加速。

    2. 使用如下代码对生成的 *ptq_model.onnx 进行二次处理:沿batch维度拆开,并插⼊ 前处理节点和格式转换节点 ,并进行编译。

    你好,这个问题你可以使用如下方式进行处理:

    1.input_shape 的batch可以为4,但是请务必先将input_type_train和input_type_rt参数配置为featuremap,然是 使⽤ hb_compile⼯具⽣成 *ptq_model.onnx 进行模型编译,提示:编译命令可以使用--skip compile参数加速。

    2. 使用如下代码对生成的 *ptq_model.onnx 进行二次处理:沿batch维度拆开,并插⼊ 前处理节点和格式转换节点 ,并进行编译。

    你好,这个问题你可以使用如下方式进行处理:

    1.input_shape 的batch可以为4,但是请务必先将input_type_train和input_type_rt参数配置为featuremap,然是 使⽤ hb_compile⼯具⽣成 *ptq_model.onnx 进行模型编译,提示:编译命令可以使用--skip compile参数加速。

    2. 使用如下代码对生成的 *ptq_model.onnx 进行二次处理:沿batch维度拆开,并插⼊ 前处理节点和格式转换节点 ,并进行编译。

    2025-06-11
    0
    0
  • Huanghui
    Lv.5

    抱歉,论坛后台有故障,连续发了好几个答复,将就看吧。

    另外, save(quantized_model, os.path.join(script_dir, "model_output", "sample_quantized_split.bc")) 得到quantized_spilit.bc之后,你可以使用脚本中的compile进行编译,也可以使用命令:hb_compile--config xxx.yaml--model xx_ quantized_split.bc完成编译,此时 xxx.yaml 中的model配置想将失效使用命令中的 xx_ quantized_split.bc 进行编译。

    2025-06-11
    0
    0
  • Huanghui
    Lv.5

    客户您好,长时间未收到你的答复,相信问题已解。如对此尚存疑问欢迎新帖讨论,感谢您的参与!

    2025-07-08
    0
    0