前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ONNX模型部署利器ONNXRUNTIME框架

ONNX模型部署利器ONNXRUNTIME框架

作者头像
OpenCV学堂
发布2023-08-22 13:20:58
1.1K0
发布2023-08-22 13:20:58
举报

微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识

ONNXRUNTIME介绍

ONNX格式模型部署兼容性最强的框架 ONNXRUNTIME,基本上不会有算子不支持跟不兼容的情况出现,只要能导出ONNX格式模型,它基本上都能成功加载,成功推理。虽然在CPU速度不及OpenVINO、GPU上速度不及TensorRT,但是胜在兼容性强,支持不同硬件上推理部署包括:ARM、CPU、GPU、AMD等,

可以通过设置不同的推理后台支持,包括:

支持语言也非常丰富,不止于Python跟C++语言,支持列表如下:

支持的操作系统包括Windows、Android、乌班图、iOS等。

Python版本安装与测试

Python版本安装特别容易,一条命令行搞定

CPU版本

代码语言:javascript
复制
pip install onnxruntime

GPU版本

代码语言:javascript
复制
pip install onnxruntime-gpu

通过下面的API函数可以查询当前支持推理Provider,代码如下:

运行结果如下:

C++版本安装与测试

首先需要下载安装包,以 microsoft.ml.onnxruntime.gpu.1.13.1为例。首先需要配置包含目录

代码语言:javascript
复制
D:\microsoft.ml.onnxruntime.gpu.1.13.1\build\native\include

然后配置库目录:

代码语言:javascript
复制
D:\microsoft.ml.onnxruntime.gpu.1.13.1\runtimes\win-x64\native

最后配置链接器,我的是支持CUDA版本,配置如下:

代码语言:javascript
复制
onnxruntime_providers_shared.lib
onnxruntime_providers_cuda.lib
onnxruntime.lib

最后把DLL文件copy到编译生成的可执行文件同一个目录下,直接运行即可。C++推理,简单说分为四步,首先引入包含文件支持,再初始化推理会话对象Session,预处理图像,然后执行推理,最后完成后处理即可。

以ResNet18模型为例,导出ONNX格式,基于ONNXRUNTIME推理效果如下:

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-06-17,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com