专栏算法工具链模型编译报错异常请教

模型编译报错异常请教

已解决
txin2025-05-21
77
11

模型检查能通过,但是在编译的时候遇到了一个奇怪的报错如下,麻烦大佬帮忙看一下。模型传到了附件中。

2025-05-21 09:21:07,362 ERROR *** ERROR-OCCUR-DURING hbdk.export ***, error message: <built-in method infer_type_if_failed_infer_shape of PyCapsule object at 0x7afa714d0b10> returned a result with an exception set.

算法工具链
征程6
评论2
0/1000
  • Huanghui
    Lv.5

    你好,问题收到,但是没有看到附件,需要复现分析,分享一个网盘链接啥的呢。

    2025-05-22
    0
    1
    • txin回复Huanghui:

      是的,我今早发现平台好像一直上传有问题,但是也不确定您那边是否能看见。我现在分享网盘链接给您,通过网盘分享的文件:test.zip 链接: https://pan.baidu.com/s/1JPgFzYHeqeMFFTNujxZO-g 提取码: bhyg

      2025-05-22
      0
  • Huanghui
    Lv.5

    你附件给的模型是有问题的,下面是测试的代码,你可以自己验证一下,在使用工具链之前一定要保证你的onnx通过onnxruntime可以推理:


    Fail: [ONNXRuntimeError] : 1 : FAIL : Node (MatMulBnFusion_Gemm) Op (Gemm) [ShapeInferenceError] First input does not have rank 2
    2025-05-22
    0
    8
    • txin回复Huanghui:
      您好,我这边在模型上执行了一下您给的这个脚本,是能通过的,下面是截图,目前的话就是执行hb_compile --fast-perf --model test.onnx --march nash-m命令的时候报了一开始那个错误。
      2025-05-22
      0
    • Huanghui回复txin:

      奇怪,先核对一下环境吧,只有我复现了,才能下一步,目前我的环境如下,你看看和你的一样不

      2025-05-22
      0
    • txin回复Huanghui:
      我这边把我们的环境放到compare里面对比了,您看一下,可能是由于什么导致的
      2025-05-22
      0
    • txin回复Huanghui:

      md5哈希值是一样的,左边是您的环境,右边是我的环境

      2025-05-22
      0
    • Huanghui回复txin:

      从上面的图可以看出来,你用的CPU版本的DOCKER,我有两个疑问:

      1. 是J6的工具链DOCKER对吧?OE包的吧版本是啥?我用OE3.0.31的官方版,怎么有些组件版本对不上。

      2. 你看看对比图中的onnxruntime,我的版本比你的版本新都跑不过,你能跑过?上面的推理代码用到的只有 onnxruntime 和 numpy呀。

      2025-05-22
      0
    • txin回复Huanghui:
      是的,我用的是J6的工具链的cpu-docker,版本也是3.0.31,我这边又运行了一遍您的脚本,确实没有报错,我重新下一个新的docker再跑一遍看看。
      2025-05-22
      0
    • txin回复Huanghui:
      我们这边使用的J6d的OE包里面onnxruntime的版本就只有1.16.3的了,但是我这边下载了您环境里的onnxruntime==1.20.1的版本,运行之后也报错了,这种情况有点触及我的知识盲区了,可以怎么解释呢
      2025-05-22
      0
    • Huanghui回复txin:

      重新更新了一下我自己的环境,终于复现了你的问题

      以下是这个问题的原因:

      从日志中可以看出是名为“/Split”的算子在进行切片时出的出错了,造成出错的原因是被切片的的tensor是个动态shape的tensor, 而目前工具链是不支持动态shape的。下图中的 NonZero是 动态shape 的成因,要自己想办法吧动态SHAPE固定。

      重新更新了一下我自己的环境,终于复现了你的问题

      以下是这个问题的原因:

      从日志中可以看出是名为“/Split”的算子在进行切片时出的出错了,造成出错的原因是被切片的的tensor是个动态shape的tensor, 而目前工具链是不支持动态shape的。下图中的 NonZero是 动态shape 的成因,要自己想办法吧动态SHAPE固定。

      2025-05-23
      1