专栏算法工具链j6m,hbm推理结果不一致

j6m,hbm推理结果不一致

已解决
Oops2024-12-06
195
6
1.芯片型号:j6m
2. 板卡类型:天准J6M
3. 天工开物开发包 OpenExplorer 版本:v3.0.22
4. 问题定位:hbm推理
5. 问题具体描述:推理不正确
bc模型与hbm模型在工具链通过hb_verifier工具验证结果一致。
Description
开发板通过hrt_model_exec infer推理结果与工具链输出结果对比发现部分不一致,通过开发板C++环境验证部分依然不一致。
文件百度云链接: https://pan.baidu.com/s/1KIrltEgyaDbyXWeAtdbpdQ?pwd=fe5n 提取码: fe5n 复制这段内容后打开百度网盘手机App,操作更方便哦
算法工具链
征程6
评论3
0/1000
  • Huanghui
    Lv.5

    收到!

    2024-12-06
    0
    0
  • Huanghui
    Lv.5

    你好, hb_verifier验证通过说明编译器工作是正常的,但是bc模型, hb_verifier 工具在处理过程中做了一定的数据预处理工作,如果在 hrt_model_exec infer是执行成都处理过程与 hb_verifier的预处理过程不一致是有可能导致当前的结果的,如果可以,请分享你的测试模型和数据,感谢您的配合和支持!

    2024-12-07
    0
    2
    • Oops回复Huanghui:

      百度云盘里已经上传了hbm模型,bc模型和输入数据的txt文件

      2024-12-08
      0
    • Huanghui回复Oops:

      收到,我们先下载了复现一下哈,感谢配合

      2024-12-09
      0
  • Huanghui
    Lv.5

    你好,关于这个问题,先说结论: hrt_model_exec infer推理结果与工具链输出结果对比是一致的。处理步骤如下:

    1. 使用如下脚本将你提供的测试数据转化为npy文件: example2.npy,方便在hb_verifer中使用

    2. 修改脚本/usr/local/lib/python3.10/dist-packages/horizon_tc_ui/verifier/comparator.py如下以查看hb_verifer验证过程中两个模型的推理输出结果

    3. 执行命令hb_verifier -m 55_c_7v_quantized_model.bc,55_c_7v.hbm -i example2.npy进行推理验证,结果是PASS,同时生成了bc和hbm针对输入数据 example2.npy 的推理结果o1_653.txt,o2_653.txt等(o1_653.txt与o2_653.txt完全相等,证明了bc&hbm是一致的)

    4. 在板端(我自己使用的仿真端)执行命令hrt_model_exec infer --model_file 55_c_7v.hbm --input_file 输入测试数据.txt --enable_dump true --dump_format txt --dump_path . 生成推理结果model_infer_output_0_653.txt,对比model_infer_output_0_653.txt和 o1_653.txt 是一样的,说明 hrt_model_exec 的推理结果和hb_verifer中bc以及hbm的推理结果也是一致的。

    需要留意一点: hrt_model_exec 推理hbm模型是使用的C++的API,而在hb_verifer中推理hbm模型用的是 HB_HBMRuntime .

    另外: hb_verifer 和hrt_model_exec 的源码也是在DOCKER和OE中存在的,更多信息可以查看源码。

    2024-12-12
    0
    1
    • Oops回复Huanghui:

      好的,感谢支持。

      2024-12-12
      0