专栏算法工具链【求助】征程6 hb_compile工具验证onnx模型报错!!!

【求助】征程6 hb_compile工具验证onnx模型报错!!!

已解决
珠穆朗玛峰修电梯2024-12-17
279
37

有大哥遇到这种问题吗?求助!

prepare the onnx model
06:54:58,964 INFo Saving model to: /open explorer/horizon j6 open explorer _v3.0
2024-12-14).22-DV310
20240924/samples/ai toolchain/horizon model convert sample/03 classification/testonnx/.hb compile/test original float model.onnx.
2024-12-14 06:54:58,964 INFo Start to optimize the onnx model.
2024-12-1406:55:14,879 ERROR ** ERROR-0CCUR-DURING hmct.api.build model ***, error message: There is Error a Pass Error occured:Info(name:/encoder/agent encoder/motion 1/LsTM; kind:LSTM).
Error Pass(split lstm).
Eror message:/home/jenkins/agent /workspace/model convert/onnx/onx/common/ir.h:1366: erase0uput: Assertion `outputs [i]-{>}uses().empty()’ failed
The error model has been saved as split lstm pass fail.onnx
2024-12-14 06:55:14,879 INF0 End to optimize the onnx model.
2024-12-14 06:55:14,879 INFO End to Horizon NN Model convert
算法工具链
征程6技术深度解析
评论5
0/1000
  • Huanghui
    Lv.5

    收到,需要可以复现问题的附件!

    2024-12-17
    0
    4
    • 珠穆朗玛峰修电梯回复Huanghui:

      请问应该怎么发附件啊?

      2024-12-17
      0
    • Huanghui回复珠穆朗玛峰修电梯:

      百度云盘,然后分享链接。

      2024-12-17
      0
    • 珠穆朗玛峰修电梯回复Huanghui:
      通过网盘分享的文件:20241217testonnx.zip 链接: https://pan.baidu.com/s/1tgrLNbRRd1RwT5lf-OxuJg 提取码: dat8 --来自百度网盘超级会员v1的分享
      百度网盘的链接是这个,麻烦您这边看一下问题所在,感谢
      2024-12-17
      0
    • Huanghui回复珠穆朗玛峰修电梯:

      你好,经过问题排查,这个模型本身就是有问题的。 问题原因是:输入/输出有重名,你可以通过netron可是化看看,其中少了weights这个输出,但是用onnxruntime是可以获取到这个输出的。另外,考虑换个预测模型吧,比如参考算法qcnet这种 ,另外模型中Einsum算子是目前不支持的,无法对该模型进行支持。

      2024-12-23
      0
  • Huanghui
    Lv.5

    从错误日志看是在进行 LSTM 的Pass时断言失败,需要你先用onnx_runtime确定一下onnx的有效性,就是onnx是可以正常推理的,然后看看能否导出opset13和opset18的模型再试试呢,如果还是有问题,就提供onnx过来吧。

    2024-12-17
    0
    13
    • 珠穆朗玛峰修电梯回复Huanghui:

      onnxruntime应该是没错的大哥,好的,我试试,感谢大哥

      2024-12-17
      0
    • 珠穆朗玛峰修电梯回复Huanghui:
      转成 18 还是报错了,13不支持beishang_org.svg
      2024-12-17
      0
    • 珠穆朗玛峰修电梯回复Huanghui:

      请问是否可以看看onnx

      2024-12-17
      0
    • Huanghui回复珠穆朗玛峰修电梯:

      看看onnx是啥意思?

      2024-12-17
      0
    • 珠穆朗玛峰修电梯回复Huanghui:

      就是我提供onnx呢

      2024-12-17
      0
    • Huanghui回复珠穆朗玛峰修电梯:

      是的,你先把文件发过来我复现一下看看是否有一样的错误。

      2024-12-17
      0
    • Huanghui回复Huanghui:
      kuxiao_org.svg百度云盘,然后分享链接。
      2024-12-17
      0
    • 珠穆朗玛峰修电梯回复Huanghui:

      通过网盘分享的文件:20241217testonnx.zip 链接: https://pan.baidu.com/s/1tgrLNbRRd1RwT5lf-OxuJg 提取码: dat8 --来自百度网盘超级会员v1的分享百度网盘的链接是这个

      2024-12-18
      0
    • 珠穆朗玛峰修电梯回复Huanghui:

      咋样大哥复现是不是也是有问题没

      2024-12-18
      0
    • Huanghui回复珠穆朗玛峰修电梯:
      有结论了给你同步哈,没那么快~kuxiao_org.svg
      2024-12-18
      0
    • 珠穆朗玛峰修电梯回复Huanghui:

      收到!大哥辛苦了

      2024-12-18
      0
    • 长城上贴瓷砖回复Huanghui:

      请问咋样了啊?

      2024-12-18
      0
    • Huanghui回复长城上贴瓷砖:
      你好,经过问题排查,这个模型本身就是有问题的。 问题原因是:输入/输出有重名,你可以通过netron可是化看看,其中少了weights这个输出,但是用onnxruntime是可以获取到这个输出的。另外,考虑换个预测模型吧,比如参考算法qcnet这种 ,模型中Einsum算子是目前不支持的,无法对该模型进行支持。

      2024-12-23
      0
  • Huanghui
    Lv.5

    你好,这个问题跟工具链优化链路上的LSTM算子支持有关,我找研发的同学看看,有结论了同步给你,你留意消息就好~

    2024-12-18
    0
    5
    • 珠穆朗玛峰修电梯回复Huanghui:

      好的大哥,感谢!

      2024-12-18
      0
    • 长城上贴瓷砖回复Huanghui:

      如果想用其他结构替换掉LSTM,有什么推荐吗?

      2024-12-19
      0
    • Huanghui回复长城上贴瓷砖:

      1. 看了一下,GRU的结构跟 LSTM 差不多,都是通过门控来空置历史信息和当前信息的融合,你可以进行尝试;

      2. 不过替换完了GRU 很有可能编译还是有问题。其实工具链本身也是通过算子拆分来支持复杂算子LSTM/GRU的,如果要说结构替换,实际上工具链在编译时已经在做了,所以持续留意这个问题在研发排查的进展吧。

      2024-12-19
      0
    • 长城上贴瓷砖回复Huanghui:

      换LSTM报错,换GRU的,check的时候卡住不动了。

      2024-12-24
      0
    • Huanghui回复长城上贴瓷砖:
      卡主就等haha_org.svg,如果还是有问题就换感知模型吧,模型中Einsum算子是目前不支持的,无法对该模型进行支持。
      2024-12-24
      0
  • kotei左文亮
    Lv.3

    哪个docker版本? 可否上传一下你的模型

    2024-12-17
    0
    5
    • 珠穆朗玛峰修电梯回复kotei左文亮:

      想采用ptq量化,目前用的征程6提供的docker

      2024-12-17
      0
    • 珠穆朗玛峰修电梯回复kotei左文亮:

      嗯嗯嗯,正在上传

      2024-12-17
      0
    • 珠穆朗玛峰修电梯回复kotei左文亮:

      通过网盘分享的文件:20241217testonnx.zip 链接: https://pan.baidu.com/s/1tgrLNbRRd1RwT5lf-OxuJg 提取码: dat8 --来自百度网盘超级会员v1的分享百度网盘的链接是这个,麻烦您这边看一下问题所在,感谢

      2024-12-18
      0
    • kotei左文亮回复珠穆朗玛峰修电梯:

      OK, 你用的J6的docker是3.017版还是3.0.22版 还是其它的版本啊?

      2024-12-18
      0
    • 珠穆朗玛峰修电梯回复kotei左文亮:

      docker版本是3.0.22

      2024-12-18
      0
  • kotei左文亮
    Lv.3

    问题已经复现,你上传的两个模型都是这样的问题,模型check就有error。原因还在进一步研究,请问一下,你这个模型是自己训练的吗,是怎么来的?

    2024-12-18
    0
    5
    • 珠穆朗玛峰修电梯回复kotei左文亮:

      大哥是开源模型下下来的,应该从哪方面来检查呢,是LSTM算子那吗

      2024-12-18
      0
    • kotei左文亮回复珠穆朗玛峰修电梯:

      LSTM 是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的 ,适合于处理和预测时间序列中间隔和延迟非常长的重要事件 ,处理语言模型的。现在部署到J6,不同框架对LSTM的实现细节在ONNX转换中可能会有差异 ,可能现版本的J6docker对模型结构支持不友好,或者不兼容。J6更合适部署AI感知的视觉模型,以OE包中给的样例模型为基础。

      2024-12-18
      0
    • 珠穆朗玛峰修电梯回复kotei左文亮:

      感谢大哥的回复,我看有swin transformer相关的,不过量化方式是qat

      2024-12-18
      0
    • 珠穆朗玛峰修电梯回复kotei左文亮:

      哈喽大哥, 如果想用其他结构替换掉LSTM,有什么推荐吗

      2024-12-19
      0
    • kotei左文亮回复珠穆朗玛峰修电梯:

      这个暂时不知道啊,目前我们主要负责处理工具链的问题。

      2024-12-23
      0