专栏算法工具链生成的bin文件在板侧的运行结果和HB_ONNXRuntime运行量化后的onnx模型差异很大

生成的bin文件在板侧的运行结果和HB_ONNXRuntime运行量化后的onnx模型差异很大

已解决
云山居士2023-05-05
62
22

用户您好,请详细描述您所遇到的问题:生成的bin文件在板侧的运行结果和HB_ONNXRuntime运行量化后的onnx模型差异很大

  1. 系统软件版本: (通过 cat /etc/version 获得)

OS: docker pull openexplorer/ai_toolchain_ubuntu_20_xj3_cpu:v2.5.2,在docker镜像中进行的操作

OE: horizon_xj3_openexplorer_v2.5.2_py38_20230331

  1. 问题涉及的技术领域: (硬件、操作系统、驱动、其他) 工具链

  2. 问题描述:(尽可能详细的描述在进行什么功能的开发或者测试,发现了什么问题,问题现象,并且提供预期的结果) HB_ONNXRuntime运行量化后的onnx模型得到的结果如下图1所示,基本是准确的。但是在板侧运行生成的bin文件得到的结果如下图2所示,结果是错误的。代码和模型见文末的百度网盘链接,运行其中的inference_model_bpu.py可以复现这个问题。我也尝试过-128的偏置,结果同样是错误的。我试图使用hb_verifier进行校验,但是报错:paramiko.ssh_exception.AuthemticationException: Authentication failed. 我尝试过几遍,密码是默认密码root。我参考了3.1. 模型推理示例 — 旭日X3派用户手册 1.0.1 文档 (horizon.ai)的方法,但是我在转换时并不是设置的nv12格式,而是rgb格式,所以该文档无法解决我的问题。
  3. 复现概率:必现

  4. 提供必要的问题日志:

  5. 软件上是否有做自定义修改:

链接: https://pan.baidu.com/s/1XxQobZuzQnSs8jGKcLJYAQ 提取码: slbf

--来自百度网盘超级会员v4的分享

对应的.bin和.onnx文件如下:

链接: https://pan.baidu.com/s/1zyyOVi_HOORTu3cl672RVQ 提取码: v8c1

--来自百度网盘超级会员v4的分享

算法工具链
评论4
0/1000
  • 颜值即正义
    Lv.2
    你好,使用hb_verifier来衡量quantized.onnx和bin的输出对齐情况哈,从你的报错看,可能是由于docker无法直接ping通开发板导致的。建议尝试一下,如果实在不行,麻烦提供一下对应的quantized.onnx

    和bin,我这边帮你验证一下

    2023-05-06
    2
    9
    • 云山居士回复颜值即正义:
      2023-05-06
      0
    • 颜值即正义回复云山居士:

      根据提示,确实是没和板端建立起连接

      2023-05-06
      0
    • 云山居士回复颜值即正义:

      链接: https://pan.baidu.com/s/1zyyOVi_HOORTu3cl672RVQ 提取码: v8c1

      --来自百度网盘超级会员v4的分享

      2023-05-06
      0
    • 云山居士回复云山居士:

      .bin文件、.onnx文件和hb_verify.log都在百度网盘附件中

      2023-05-06
      0
    • 云山居士回复云山居士:

      ping是可以ping通开发板的,见图1,ssh也是能够连接和登录这个开发板的,见图3,但是使用hb_verify就会报错,如图2。

      2023-05-06
      0
    • 云山居士回复颜值即正义:

      但是SSH是连得上开发板的呀,账户和密码也都是对的

      2023-05-06
      0
    • 云山居士回复颜值即正义:

      对应的quantized.onnx和bin提供在如下链接中:

      链接: https://pan.baidu.com/s/1zyyOVi_HOORTu3cl672RVQ 提取码: v8c1

      请帮忙验证一下

      2023-05-06
      0
    • zhongyy回复颜值即正义:

      请问这个工具是通过哪种ssh授权类型?好像试了很多次docker都没和板端建立起连接。但是直接docker中ssh板端是可以连上的

      2023-08-02
      0
    • 颜值即正义回复zhongyy:

      这个问题的根本原因是板端有密码导致的,后续我们会优化升级这个工具,请用户输入密码来解决这个问题。当前可以参考这篇文章来解决:https://blog.csdn.net/weixin_45377629/article/details/131935871

      2023-08-02
      0
  • 云山居士
    Lv.1

    对应的quantized.onnx和bin提供在如下链接中:

    链接: https://pan.baidu.com/s/1zyyOVi_HOORTu3cl672RVQ 提取码: v8c1

    请帮忙验证一下@颜值即正义

    2023-05-06
    2
    4
    • 颜值即正义回复云山居士:

      你好,上面的问题一起回复下哈,确实是你的docker和板端的链接在执行程序时是不通的。通的情况下,执行命令输出如下图所示:

      由于一致性检查未通过,先提供最新的patch供验证,获取链接为:https://pan.horizon.ai/index.php/s/rmRBeS4SrZYn8BK

      2023-05-06
      0
    • 颜值即正义回复颜值即正义:

      若依旧存在精度问题,麻烦再提供一下新版本转换后的quantized.onnx和bin模型,我们再来进行分析~

      2023-05-06
      0
    • 云山居士回复颜值即正义:

      ERROR: hbdk-3.44.7-cp36-cp36m-linux_x86_64.whl is not a supported wheel on this platform.

      2023-05-07
      0
    • 云山居士回复颜值即正义:
      无法安装这几个whl包,报错:ERROR: hbdk-3.44.7-cp36-cp36m-linux_x86_64.whl is not a supported wheel on this platform. 看命名好像是python3.6的包,而我的python是3.8.10
      2023-05-07
      0
  • 云山居士
    Lv.1

    无法安装这几个whl包,报错:ERROR: hbdk-3.44.7-cp36-cp36m-linux_x86_64.whl is not a supported wheel on this platform. 看命名好像是python3.6的包,而我的python是3.8.10

    2023-05-07
    2
    2
    • 颜值即正义回复云山居士:

      重新提供一下py38的whl包:https://pan.horizon.ai/index.php/s/xsM2Dp886ASRGje

      2023-05-07
      0
    • 云山居士回复颜值即正义:

      安装这四个whl包后,hb_verifier无法运行了,显示No such file or directory

      2023-05-08
      0
  • 云山居士
    Lv.1
    2023-05-08
    0
    3
    • 云山居士回复云山居士:

      安装这四个whl包后,hb_verifier无法运行了,显示No such file or directory

      2023-05-08
      0
    • 颜值即正义回复云山居士:

      是OE2.5.2对应的docker嘛?我用的就是这个呀,实在不行,你再把转换过程中的quantized.onnx和bin发给我,我帮你测一下

      2023-05-08
      0
    • 颜值即正义回复颜值即正义:

      试一下hb_model_verifier呢,用法见精度调优那篇文章

      2023-05-08
      0