专栏算法工具链板端HB_DNN_INPUT_FROM_DDR输入疑惑(StereoNet)

板端HB_DNN_INPUT_FROM_DDR输入疑惑(StereoNet)

已解决
YUANYI2025-11-12
391
16

芯片:【j5】

 

尝试在板端跑通StereoNet。使用官方提供的HBM模型,经解析发现HBM模型的输入被设置为HB_DNN_INPUT_FROM_DDR:

 

因此在板端实现的时候,需要自行进行归一化以及量化,因此我根据官方Config的预处理流程写了板端的预处理:

 

官方Config:

 

我的实现(C++):

 

请问是否正确,目前来看板端推理结果异常,与主机容器内int_infer的结果不一致。

算法工具链
征程5技术深度解析
评论2
0/1000
  • YUANYI
    Lv.1

    已解决

    2025-11-17
    0
    0
  • Vincent
    Lv.4

    你好,具体推理代码能否发过来看下呢?

    2025-11-12
    0
    14
    • YUANYI回复Vincent:

      您好,已经贴上来了,谢谢!

      2025-11-12
      0
    • Vincent回复YUANYI:

      你好,我看了下你的推理代码,你这里分解成6个通道之后,除以的scale值是同一个,都是除以scale[0],但是根据输入信息,这里有6个通道,且有6个对应的scale,作用的维度是1,也就是第二个维度,所以这里再除以scale时候,每个通道要单独除以scale

      2025-11-12
      0
    • YUANYI回复Vincent:

      感谢答复,我看model_info给出的每个通道的scale值是一样的,所以应该无影响?

      2025-11-12
      0
    • Vincent回复YUANYI:

      哦哦才看到

      2025-11-12
      0
    • Vincent回复YUANYI:

      预处理方法跟你主机端一样吗,可以在输入模型之前打印一下数据,二者对比下

      2025-11-12
      0
    • YUANYI回复Vincent:

      似乎只有float模型推理的时候才可以打印?转完定点以后模型代码中插入的print好像不生效了

      2025-11-12
      0
    • Vincent回复YUANYI:

      不在模型内部插入打印呢,在输入之前打印

      2025-11-12
      0
    • Vincent回复YUANYI:

      主机端和板端推的都是同一个hbm模型吧

      2025-11-12
      0
    • YUANYI回复Vincent:
      float features_tmp = std::floor(static_cast(((float(channels1[c].at(h, w)) - 128.0f) / 128.0f) / scale[0]) + 0.5);
      features_tmp = std::min(std::max(features_tmp, -128.f), 127.f); features_tmp= static_cast(features_tmp);

      这个量化操作我是参考的社区的一篇教程,不知道是否正确~
      2025-11-12
      0
    • YUANYI回复Vincent:
      对的,同一个hbm文件,这个链接里提供的:
      2025-11-12
      0
    • Vincent回复YUANYI:

      有这个教程链接嘛我去看看

      2025-11-12
      0
    • YUANYI回复Vincent:


      里面的这个链接地址:https://forum.d-robotics.cc/t/topic/25001
      2025-11-12
      0
    • YUANYI回复Vincent:

      我其实没太理解为什么官方给出的stereonet模型是ddr输入,stereonetplus又是pyramid输入,在configs/disparity_pred/stereonet/stereonet_stereonetneck_sceneflow.py里如果直接把compile参数里的ddr改成pyramid又会报错~

      2025-11-12
      0
    • YUANYI回复Vincent:
      configs/disparity_pred/stereonet/stereonet_stereonetneck_sceneflow.py里给出的预处理步骤如下:
      2025-11-12
      0