[亲测有效]VS2019/Ubuntu配置Onnxruntime、Opencv

[windows] VS配置Onnxruntime

参考: https://blog.csdn.net/weixin_42795611/article/details/107338541
亲测:
0. 首先确定cudnn的版本

nvcc --version
C:\Users\yx_computer> nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Tue_Sep_15_19:12:04_Pacific_Daylight_Time_2020
Cuda compilation tools, release 11.1, V11.1.74
Build cuda_11.1.relgpu_drvr455TC455_06.29069683_0

1. 下载Onnxruntime:
当cudnn的版本为10.*时,选择下面链接下载
https://github.com/microsoft/onnxruntime/releases/tag/v1.3.0
当cudnn的版本为11.*时,选择下面链接下载
https://github.com/microsoft/onnxruntime/releases/tag/v1.9.0在这里插入图片描述
注:当出现dlerror:cublas64_10.dll not found类似的错误,有可能是cudnn的版本号与onnxruntime不对应。
这里有所有的onnxruntime下载链接:https://github.com/microsoft/onnxruntime/tags

2. 打开vs新建项目——>右击点击属性——>C/C++属性,添加解压后的include文件路径,注意配置平台的选择。
下图红线框选择x64,配置时,选择相对应选项。(下载onnxruntime的安装包时,也要注意版本的下载)
在这里插入图片描述在这里插入图片描述
3. 点击链接器——>附加库目录,添加解压后的lib文件路径。
在这里插入图片描述
4. 点击输入——>附加依赖项,将onnxruntime.lib添加进去。
在这里插入图片描述
5. 先运行一个简单程序,生成Debug文件

#include <iostream>  

int main()
{
	printf("hello, onnx!\n");
	system("pause");
	return 0;
}

选择平台x64
在这里插入图片描述

6. 将onnxruntime.dll放入到项目的Debug或Release下
注意: onnxruntime.dll是放在含有.exe的Debug文件路径下。
在这里插入图片描述

7. 验证是否成功

#include <iostream>  
#include <onnxruntime_cxx_api.h>


int main()
{
	printf("hello, onnx!\n");
	system("pause");
	return 0;
}

在这里插入图片描述

[windows] VS配置Opencv

参考:https://blog.csdn.net/xgocn/article/details/104170088

[ubuntu] CPP配置Onnxruntime

  • 在Ubuntu中安装c++(安装则跳过)
    参考:https://blog.csdn.net/W1995S/article/details/117876875
    1. 查看gcc、g++是否安装

    gcc --version
    g++ --version
    

    2.安装

    sudo apt-get install gcc
    sudo apt-get install g++
    
    或指定版本:8
    sudo apt-get install gcc-8
    sudo apt-get install g++-8
    

    报错1:

    E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavialable)
    E: Unable to acquire the dpkg fronted lock (/var/lib/dpkg/lock-frontend), is another process using it?
    

    解决:

    sudo rm -rf /var/cache/apt/archives/lock-frontend
    sudo  rm -rf /var/lib/dpkg/lock-frontend
    

    报错2:

    E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
    E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
    

    解决:

    sudo rm /var/lib/dpkg/lock
    sudo dpkg --configure -a
    

    3.创建cpp文件
    创建项目目录cppdemo,用于学习创建第一个C++项目,并进入cppdemo目录中:

    mkdir ~/data/yx/cpp/cppdemo && cd ~/data/yx/cpp/cppdemo
    

    vi是打开文件,创建是vim

    vi hello.cpp
    
    #include <iostream>  
    
    int main()
    {
    	printf("hello, World!\n");
    	system("pause");
    	return 0;
    }
    

    4. 运行
    用g++编辑器编译,生成可执行文件 hello

    g++ hello.cpp -o hello
    

    注: -o 后面的hello是生成的存储输出内容的文件名

    执行可执行文件(即打开hello)

    ./hello
    
  • cpp配置Onnxruntime
    参考: https://blog.csdn.net/Fenplan/article/details/116742180

  1. 安装python3(安装则跳过)

    apt-get install python3
    
  2. 安装pip3(安装则跳过)

    apt-get install python3-pip
    pip3 install --upgrade pip
    
  3. 安装依赖

    pip3 install --upgrade setuptools
    pip3 install --upgrade wheel
    pip3 install numpy
    
  4. 安装cmake

    sudo apt-get install cmake
    
  5. 下载onnxruntime(建议按照官方文档直接clone,不要自己到github上下载,不然运行过程中会报找不到某个文件的错误)

    ~/data/yx/cpp$ sudo git clone --recursive https://github.com/Microsoft/onnxruntime
    

    报错1:

    gnutls_handshake() failed: The TLS connection was non-properly terminated.
    

    解决:

    sudo git config --global  --unset https.https://github.com.proxy 
    sudo git config --global  --unset http.https://github.com.proxy 
    
  6. 安装onnxruntime

    cd onnxruntime 
    ./build.sh --config RelWithDebInfo --build_wheel --update --build
    
  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
ONNX Runtime是一个高性能的开源推理引擎,用于在各种硬件上执行机器学习模型。与OpenCV相比,ONNX Runtime具有更高的性能和更广泛的硬件支持。 要使用ONNX Runtime进行分割任务,您可以按照以下步骤操作: 1. 安装ONNX Runtime库:首先,您需要安装ONNX Runtime库。您可以通过在终端中运行适当的安装命令来完成此操作,具体取决于您使用的操作系统和硬件。 2. 加载和解析模型:在使用ONNX Runtime之前,您需要加载和解析分割模型。您可以使用ONNX Runtime的API来加载和解析ONNX模型文件。 3. 准备输入数据:在进行分割之前,您需要准备输入数据。通常,输入数据是图像,您可以使用常见的图像库(如PIL)或将图像读取为NumPy数组。 4. 运行推断:一旦加载模型并准备好输入数据,您可以使用ONNX Runtime的API来运行推断。这将对输入数据进行模型的前向传递,并生成分割结果。 5. 处理输出结果:最后,您可以根据需求处理和可视化分割的输出结果。您可以使用常见的图像处理库(如PIL)或将输出结果转换为NumPy数组进行后续处理和可视化。 总结来说,使用ONNX Runtime进行分割任务不需要使用OpenCV。您只需要加载和解析模型、准备输入数据、运行推断以及处理输出结果。ONNX Runtime提供了高性能和硬件支持,可以有效地执行机器学习模型,括分割任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只搬烫手的砖

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值