专栏算法工具链uint8的图片数据输入相对float32的图片类型输入精度损失

uint8的图片数据输入相对float32的图片类型输入精度损失

爱学习的班马2026-04-17
33
12

J6M

OE包:3.7.0

我在将hbm与bc文件的图片输入用nv12的int8数据类型输入到模型中进行推理的结果与直接采用float32的图片数据输入时,有精度损失,不过这个具体的精度损失还没有进行评测。
但从肉眼上来看,精度损失应该不小,我想问一下,我应该从哪几个方面去解决这个问题呢?
算法工具链
技术深度解析征程6
评论3
0/1000
  • YCJ
    Lv.4
    我理解的意思是板端hbm吃的nv12的推理结果和x86上bc采用float32图片的推理结果不一致是这意思吗?
    11小时前
    0
    2
    • 爱学习的班马回复YCJ:

      10小时前
      0
    • 爱学习的班马回复YCJ:

      我还在排查

      10小时前
      0
  • 爱学习的班马
    Lv.2
    10小时前
    0
    0
  • 爱学习的班马
    Lv.2

    有人吗?能不能帮忙排查一下

    10小时前
    0
    7
    • YCJ回复爱学习的班马:

      我看了你的脚本,你前处理是以rgb为输入的,nv12的配置是bgr,不一致。把nv12节点改为rgb再去试一试

      7小时前
      0
    • 爱学习的班马回复YCJ:

      我先把原qat.bc生成了一个没有拆batch的bc和hbm,就是输入都是float32的(6*3*256*704)这块结果是对的

      然后我把输入拆成6*(1*3*256*704)的float32输入,这块结果也是对的

      但是我把6*(1*3*256*704)进一步拆为12个y,uv时,这个只能和我通过python脚本前处理那块能对齐,然后模型可视化结果就比float32的输入精度降低了

      我已经通过控制变量法,验证了自己其他输入变量的正确性

      然后把图片读成nc12的结果与python脚本读nv12的结果也是对齐的

      所以我现在怀疑:1) 我python 脚本把图片读成nv12的方法有问题;2)我在生成12个nv12的bc和hbm的那个脚本有问题;

      这两块我不太清楚到底是哪块出了问题

      所以问一下您这边,看看能不能帮忙排查一下

      6小时前
      0
    • 爱学习的班马回复YCJ:

      我在将nv12节点转为rgb后,可视化结果还是不对

      6小时前
      0
    • 爱学习的班马回复YCJ:

      相关脚本我已经放到链接上

      6小时前
      0
    • 爱学习的班马回复YCJ:
      6小时前
      0
    • 爱学习的班马回复YCJ:

      其中左侧的是没有插入节点的可视化,右侧是插入节点的可视化,将nv12节点改为了rgb

      6小时前
      0
    • 爱学习的班马回复YCJ:

      根据您给的排除方法,我发现咱俩的quantized.bc结果是对的上的,然后就是nv12的结果我这里与quantized.bc的结果对不齐

      6小时前
      0