OnnxRuntime – Linux配置OnnxRuntime开发环境
之前都是在Windows系统上使用Onnxruntime部署模型,用的Visual Studio配置开发Onnxruntime非常简单,具体的教程可以看我之前发的这篇文章:OnnxRuntime – 模型部署笔记2,在Visual Studio中配置Onnx Rumtime C++开发环境。最近有将部署代码迁移到Linux上的需求,所以这篇文章就详细记录下如何在Linux上配置OnnxRuntime开发环境。
1 下载OnnxRuntime Linux预编译包
在OnnxRuntime的Github下载页选择我们需要的OnnxRuntime版本的预编译包,这里以写本文时OnnxRuntime的最新版本1.15.1为例。
OnnxRuntime针对Linux不同cpu平台提供了两种类型的包:
- arm:onnxruntime-linux-aarch64-1.15.1.tgz
- x64:onnxruntime-linux-x64-1.15.1.tgz和onnxruntime-linux-x64-gpu-1.15.1.tgz,其中onnxruntime-linux-x64-1.15.1.tgz为cpu版本,onnxruntime-linux-x64-gpu-1.15.1.tgz为gpu版本。
由于我部署的平台为x64,所以这里选择的包为onnxruntime-linux-x64-1.15.1.tgz。
使用
wget https://github.com/microsoft/onnxruntime/releases/download/v1.15.1/onnxruntime-linux-x64-1.15.1.tgz
下载,然后使用
tar -xvf onnxruntime-linux-x64-1.15.1.tgz
解压,解压完成之后可以在解压文件夹看到include文件夹和lib文件夹,其中include文件夹为头文件文件夹,lib为动态库文件夹。
2 配置OnnxRuntime开发环境
假设/usr/local
目录为我们防止C++第三方库的文件目录,我们首先需要使用以下命令,将第1节中的include和lib文件夹拷贝到/usr/local/onnxruntime
下,使用以下命令进行拷贝
cp -r ./onnxruntime-linux-x64-1.15.1/include/ /usr/local/onnxruntime/include/
cp -r ./onnxruntime-linux-x64-1.15.1/lib/ /usr/local/onnxruntime/lib/
拷贝完成之后我们就需要配置OnnxRuntime动态库环境,让之后使用CMake编译项目可以连接到OnnxRuntime的动态库,使用以下命令
nano /etc/ld.so.conf.d/onnxruntime.conf
# 在onnxruntime.conf加入上述onnxruntime的库目录,添加一行/usr/local/onnxruntime/lib/
# 生效
ldconfig
通过这样就可以完成OnnxRuntime开发环境配置,我们也可以使用
ldconfig -v
看是否链接成功,如输出中包含以下信息就说明动态库配置成功了
/usr/local/onnxruntime/lib:
libonnxruntime.so.1.15.1 -> libonnxruntime.so.1.15.1
3 如何编写使用OnnxRuntime项目的CMakeLists.txt
在第2节中完成OnnxRuntime的开发环境配置之后,我们就需要在使用OnnxRuntime的项目的CMakeLists.txt中增加关于OnnxRuntime信息,
包含头文件
# 添加Onnxruntime头文件目录
set(ONNXRUNTIME_INCLUDE_DIR /usr/local/onnxruntime/include/)
set(ONNXRUNTIME_LIBRARY_DIR ${PROJECT_SOURCE_DIR}/third/Onnxruntime/1.15.1/cpu/linux-x64/lib)
# 包含头文件目录
include_directories(
${ONNXRUNTIME_INCLUDE_DIR}
...
)
# 设置链接库目录
link_directories (
${ONNXRUNTIME_LIBRARY_DIR}
...
)
链接动态库
target_link_libraries(onnxruntime_test stdc++ onnxruntime dl rt)
写到这里就基本上完成了如何在Linux中配置OnnxRuntime开发环境,然后使用CMake进行编译时需要添加的一些语句。本文是直接使用OnnxRuntime在Linux x64上的编译包,没有从头开始使用源码编译,不过从源码编译应该也不难。
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:OnnxRuntime – Linux配置OnnxRuntime开发环境
原文链接:https://www.stubbornhuang.com/2785/
发布于:2023年09月05日 9:48:48
修改于:2023年09月05日 17:53:20
当前分类随机文章推荐
- OnnxRuntime - 模型部署笔记1,OnnxRuntime简介 阅读875次,点赞0次
- OnnxRuntime - Linux配置OnnxRuntime开发环境 阅读75次,点赞0次
- OnnxRuntime – 模型部署笔记2,在Visual Studio中配置Onnx Rumtime C++开发环境 阅读683次,点赞0次
- OnnxRuntime – 模型部署笔记3,总结OnnxRuntime模型推理流程 阅读765次,点赞0次
- OnnxRuntime - C++捕获OnnxRuntime中的异常 阅读79次,点赞0次
- OnnxRuntime - 如何部署多个输入和多个输出tensor的onnx模型 阅读157次,点赞0次
全站随机文章推荐
- 资源分享 - Game Physics Engine Development (First Edition) 英文高清PDF下载 阅读2141次,点赞0次
- OpenGL地球与太阳绕转代码 阅读3125次,点赞0次
- 资源分享 - Computer Graphics with OpenGL , Third Edition 英文高清PDF下载 阅读1417次,点赞0次
- 资源分享 - Game AI Pro 3 - Collected Wisdom of Game AI Professionals 英文高清PDF下载 阅读2760次,点赞0次
- 资源分享 - Learning Vulkan 英文高清PDF下载 阅读2463次,点赞0次
- 资源分享 - OpenGL 4.0 Shading Language Cookbook (Second Edition) 英文高清PDF下载 阅读2439次,点赞0次
- WordPress - 获取某个用户发表的评论数量 阅读2171次,点赞0次
- Windows - GDI/GDI+区别、用法总结 阅读455次,点赞0次
- 资源分享 - Game Engine Architecture (Third Edition)英文高清PDF下载 阅读7397次,点赞1次
- 资源分享 - Digital Character Development - Theory and Practice , Second Edition 英文高清PDF下载 阅读1725次,点赞0次
评论
169