您现在的位置是:首页 > 技术教程 正文

onnx报错问题

admin 阅读: 2024-03-25
后台-插件-广告管理-内容页头部广告(手机)

用onnxruntime报错:

onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument:
[ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Failed to load model with
error: Unknown model file format version.

安装了onnx和onnxruntime之后还是报错,upgrade到最新版本还是报错。
发现是因为之前导出的.onnx模型和现在的版本不匹配,所以需要重新export一下,结果又报下面的错:

ONNX: export failure ❌ 0.0s: Unsupported ONNX opset version: 17

这个是因为opset的版本问题,把export时默认的17改成11就可以了。

python3 export.py --include onnx --weight /root/yolov5/runs/train-cls/exp4/weights/best.pt --opset 11
  • 1

另外记得export的时候要指定imgsz,不然就是默认的640,之后用的时候就要匹配。

我没有原始pt文件,我只有onnx文件,所以没办法重新export,运行报错:

onnxruntime.capi.onnxruntime_pybind11_state.InvalidGraph: [ONNXRuntimeError] : 10 : INVALID_GRAPH : This is an invalid model. Error in Node:Identity_0 : No Op registered for Identity with domain_version of 13

可以通过下面的代码查看支持的opset version

python import onnxruntime print("Supported onnxruntime version: ", onnxruntime.__version__) print("Supported Opset versions: ", onnxruntime.get_available_providers())
  • 1
  • 2
  • 3
  • 4

显示支持但就是不行,就卸载重装,可能是安装位置之类的问题

pip uninstall onnxruntime pip install -i https://pypi.tuna.tsinghua.edu.cn/simple onnxruntime
  • 1
  • 2

安装完显示只支持cpu,不支持cuda,但是onnxruntime-gpu明明装了的,一样的,卸载重装:

pip uninstall onnxruntime-gpu pip install -i https://pypi.tuna.tsinghua.edu.cn/simple onnxruntime-gpu
  • 1
  • 2
标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索