onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from mn

这篇具有很好参考价值的文章主要介绍了onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from mn。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

树莓派4B在使用onnxruntime1.6.0对model.onnx模型进行加载的时候出现以下的报错:

onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from mn

原因:

由于导出的ONNX模型文件不兼容ONNX Runtime当前版本所导致的,一开始我导出模型的方式如下:

import tensorflow as tf
from keras import models

keras_model = models.load_model("mnist_model.h5")
# Save the Keras model as SavedModel format
tf.saved_model.save(keras_model, 'saved_model_dir')

然后会得到一个文件夹:
onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from mn
接着我在上面生成的文件夹的那个路径中打开树莓派的黑窗口,然后输入了下面的命令:

python3 -m tf2onnx.convert --saved-model saved_model_dir --output mnist_model.onnx

然后生成了onnx模型:
onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from mn
但是在运行的时候就出现了上面的报错,正确的方法是在导出ONNX模型时指定ONNX模型文件的格式版本,应该使用下面的命令行:

python3 -m tf2onnx.convert --saved-model saved_model_dir --output mnist_model.onnx --opset=10

其中,saved_model_dir应为已保存的TensorFlow模型文件夹的路径,–opset=10表示指定ONNX模型的格式版本为10,这个版本要具体看你的onnxruntime来决定,我的是onnxruntime1.6.0,所以对应的是10版本。文章来源地址https://www.toymoban.com/news/detail-514696.html

到了这里,关于onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from mn的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 和 C++ 混合编程:pybind11 使用

    我们通常在 Python 上进行算法开发,因为 Python 编程方便,易于快速验证算法。而在验证算法正确后,如果对运行效率有更高要求的话,则会将计算密集的模块使用 C/C++ 重新实现,来达到代码运行效率加速的效果。所以,这就涉及到了 Python 和 C++ 混合编程,而在这方面 pybin

    2024年02月08日
    浏览(32)
  • Pybind11绑定C++抽象类(DLL接口)

    本文为李你干嘛原创,转载请注明出处:Pybind11绑定C++抽象类(DLL接口) 假设我们将DLL中的接口封装成了C++抽象类,并将该类和DLL文件提供给用户,类似于抽象类导出DLL中描述的办法,如果这个时候我们想使用pybind11绑定这个C++抽象类,会遇到报错,如抽象类无法实例化等等

    2024年02月11日
    浏览(32)
  • 关于在Android 11系统手机上请求READ_PHONE_STATE权限的问题

    起因是因为bugly报错: 上网查了下,原来在Android11及以上机型上调用telephonyManager.getNetworkType()需要READ_PHONE_STATE权限,于是我就在应用启动时加上了申请该权限的代码,并且在调用getNetworkType()方法的地方加了判断,如果系统版本大于等于11并且没有被授予READ_PHONE_STATE权限,就

    2024年02月12日
    浏览(40)
  • ONNXRuntime介绍及如何使用ONNXRuntime进行模型推理

    ONNXRuntime介绍及如何使用ONNXRuntime进行模型推理 随着人工智能的发展,越来越多的深度学习模型被应用到实际场景中。ONNX(Open Neural Network Exchange)是一个可跨平台、可扩展的开源模型交换格式,许多常见的深度学习框架都支持导出ONNX模型。而ONNXRuntime是由微软开发的一个高性

    2024年02月16日
    浏览(33)
  • Onnxruntime之tensorrt加速

    借助 TensorRT 执行提供程序,与通用 GPU 加速相比,ONNX 运行时可在相同硬件上提供更好的推理性能。 ONNX 运行时中的 TensorRT 执行提供程序利用 NVIDIA 的TensorRT深度学习推理引擎来加速其 GPU 系列中的 ONNX 模型。Microsoft 和 NVIDIA 密切合作,将 TensorRT 执行提供程序与 ONNX Runtime 集成

    2024年02月14日
    浏览(70)
  • onnxruntime配置

    目录 1. onnxruntime 安装 2. onnxruntime-gpu 安装 2.1 举例:创建onnxruntime-gpu==1.14.1的conda环境 runtime指的是程序运行环境,是计算机系统中负责程序运行的组件。在编写程序时,需要考虑程序与运行环境之间的交互,以及程序在运行时所需的资源和环境。 在不同的编程语言中,runtim

    2024年02月10日
    浏览(22)
  • onnxruntime 支持的所有后端

    1.1.1 详细介绍: 执行提供程序(Execution Provider) 描述 典型硬件 典型厂家 TensorrtExecutionProvider 利用TensorRT进行高性能推断 NVIDIA GPU NVIDIA CUDAExecutionProvider 使用CUDA在GPU上进行推断 NVIDIA GPU NVIDIA MIGraphXExecutionProvider 使用MIGraphX在AMD GPU上进行推断 AMD GPU AMD ROCMExecutionProvider 在AMD ROC

    2024年02月12日
    浏览(30)
  • onnxruntime android版build & 使用

    onnx模型用在android平台上时,需要build onnxruntime for android onnxruntime github 官方build for android文档 参考项目中有build好的libonnxruntime.so, 但是你可能需要自己编译,因为build的平台环境是不一样的。 你可以编译成静态库libonnxruntime.a 或者 动态库libonnxruntime.so 静态库可能有一个缺点就

    2024年02月05日
    浏览(27)
  • Ubuntu下安装和编译onnxruntime

    onnxruntime是一种用于onnx格式的机器学习模型的高性能推理引擎,适用于Linux,Windows、Mac及嵌入式设备。 这篇博客记录了编译onnxruntime的步骤及在此过程种遇到的问题及解决方法。 fatal: unable to access \\\'https://github.com/...\\\': OpenSSL SSL_read: Connection was aborted, errno 10053 需解除ssl网络认证

    2024年02月05日
    浏览(21)
  • 如何加载模型YOLOv8 ONNXRuntime

    YOLOv8 是 YOLO(You Only Look Once)目标检测系统的最新版本(v8)。YOLO 是一种实时、一次性目标检测系统,旨在在网络的单次前向传递中执行目标检测,使其快速高效。YOLOv8是之前YOLO模型的改进版本,具有更高的精度和更快的推理速度。 ONNX(开放神经网络交换)是一种表示深度

    2024年02月14日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包