论坛算法工具链yolov8模型推理结果出现nan

yolov8模型推理结果出现nan

已解决
driverli2024-04-29
312
18

1. 芯片型号:J3

2. 算法工具链版本:horizon_xj3_open_explorer_v1.16.2c

3. 问题定位:板端部署

4. 问题具体描述:

此处我只为了获取yolov8模型的输出结果(以1*20*20*4的输出为例,得到的结果出现nan,可见附件。)

但是我拿yolov5转换出来的模型也能拿到正确的结果

且用python推理量化后的quantized_model.onnx模型也能拿到正确的输出

这种问题该如何排查呢


附件:
算法工具链
征程3
+1
评论10
0/600
  • driverli
    Lv.1
    我在板端执行hrt_model_exec,显示找不到对应的命令

    而且很奇怪的是我推理yolov5的模型可以正常得到数据,推理yolov8的就不行。

    看能否用j3的板子推理yolov8模型看看是否会出现nan的问题嘛?

    2024-05-06
    0
    0
  • driverli
    Lv.1

    问题已解决,感谢您的支持

    2024-05-08
    0
    0
  • GOYUWJW
    Lv.1

    这边在模型转换时,将配置文件config.yaml中的 remove_node_type: "Quantize;Dequantize"改成remove_node_type: "Quantize"

    反量化节点的融合实现

    推理结果是一致的

    2024-05-07
    0
    0
  • driverli
    Lv.1

    好的,麻烦您了~

    还有个问题想请教一下,把模型放在docker中的x86环境下推理和放在板端推理结果应该是一样的吧?
    2024-05-07
    0
    0
  • GOYUWJW
    Lv.1

    不好意思,台架只有x3和j5,协调j3资源复现解决中

    2024-05-07
    0
    0
  • driverli
    Lv.1
    您指的工具链中的系统镜像版本具体是指什么版本差异呢?下面是我在docker中用x86环境下用hrt_model_exec 工具的结果。
    您之前使用的j5和x3的板子是ok的,j3的板子您有没有试过呢?

    因为我跑yolov5是能出结果的,那应该能说明我板子里面的模型推理环境是ok的,但是跑yolov8却不行(在docker中的x86环境和板端都不行),个人拙见,只有您那边验证j3的板子跑yolov8也是可行的情况下我去做版本对齐才是有意义的。

    2024-05-07
    0
    0
  • GOYUWJW
    Lv.1

    bin模型直接用的github下载的

    您这边先将板端镜像与您自己的1.16.2c工具链中的系统镜像版本保持一致(给您发的第二张图)

    系统镜像升级


    2024-05-07
    0
    0
  • driverli
    Lv.1

    按照链接将工具安装到板端后,打印如下

    您那边的the model builder version 版本更高,是不是您那边使用的x3工具链转的模型导致版本不一致呀?

    如果方便的话看是否能用j3开发板推理yolov8模型呢

    2024-05-07
    0
    0
  • HuangHui
    Lv.5
    2024-05-06
    0
    0
  • GOYUWJW
    Lv.1

    问题已收到,分析中


    2024-04-29
    0
    0