KuiperInfer深度学习推理框架环境配置-Ubuntu 22.04

KuiperInfer项目地址

Github项目地址
B站课程地址

安装Armadillo

官网:Armadillo官网
介绍:Armadillo C++ Library是一种C++的线性代数库,包含一些矩阵和向量的运算,可以选用高效的LAPACK和BLAS进行加速。
矩阵相关计算的文档:使用手册
安装之前:
使用Linux对应发行版的包管理器安装必要的组件

Fedora & Red Hat: cmake, openblas-devel, lapack-devel, arpack-devel, SuperLU-develUbuntu & Debian: cmake, libopenblas-dev, liblapack-dev, libarpack2-dev, libsuperlu-dev

安装依赖包:

sudo apt update
sudo apt install cmake libopenblas-dev liblapack-dev libarpack2-dev libsuperlu-dev

安装Armadillo:

sudo apt-get install libarmadillo-dev

安装目录:
头文件安装在:

/usr/include/

库文件安装在:

/usr/lib/x86_64-linux-gnu

寻找usr目录:

find usr forder: cd /usr

安装cmake

首先安装gcc和g++

sudo apt install gcc
sudo apt install g++

然后下载安装openssl(因为cmake与openssl存在依赖关系)
下载地址:openssl官网
进入download目录

tar -xvf openssl-1.1.1t.tar.gz
cd openssl-1.1.1t
./config --prefix=/usr/local --openssldir=/usr/local/openssl

然后下载安装cmake
下载地址:cmake官网

tar -xvf cmake-3.26.0-rc4.tar.gz
cd cmake-3.26.0-rc4
./bootstrap 
make
make install

cmake测试

cmake –version

安装成功

安装GTest测试库和Glog日志库

googletest官网
glog官网
先安装glog,再gtest,两个之间有依赖关系

mkdir build 在当前目录下创建一个build文件夹
cd build 进入刚创建的build文件夹
cmake ..
make -j8
make install

库文件在: /usr/local/lib/
头文件:/usr/local/include/
增加库寻找路径

vim ~/.bashrc
source ~/.bashrc

在这里插入图片描述
gtest安装

mkdir build
cd build
cmake ..
make -j8
make install

库文件在: /usr/local/lib/
头文件:/usr/local/include/

安装Opencv

Opencv官网:Opencv官网

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev

下载Opencv源码到用户下载目录:
在这里插入图片描述
执行命令:

cd 下载/
unzip opencv-4.8.0.zip
cd opencv-4.8.0/
mkdir build
cd build/
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j8
sudo make install

添加路径:

// 打开文件并编辑
sudo vim /etc/ld.so.conf
// 在文件末尾添加以下代码
/usr/loacal/lib
// 保存文件并关闭,运行以下代码
sudo ldconfig

配置环境:

// 编辑.bashrc文件
sudo vim /etc/bash.bashrc 
// 添加以下代码到文件末尾
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
// 关闭并保存.bashrc文件
// 执行命令
source /etc/bash.bashrc

此时输入以下命令,可能会报错,说找到不到OPencv

pkg-config opencv --modversionPackage opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found

解决方案:创建opencv.pc文件

cd /usr/local/lib
sudo mkdir pkgconfig
cd pkgconfig
sudo touch opencv.pc

并在该文件中添加信息,注意这些信息需要与自己安装opencv时的库路径对应

prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/libName: opencv
Description: The opencv library
Version:4.0.1
Cflags: -I${includedir}/opencv4
Libs: -L${libdir} -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann  -lopencv_core
~                                               

保存并退出文件,将文件导入到环境变量:

export  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

测试:产生如下信息表示安装完成

jasmine@lhl:~/prj/KuiperInfer/build$ pkg-config --cflags --libs opencv
-I/usr/local/include/opencv4 -L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core

安装google benchmark

Google benchmark仓库地址:google benchmark官网
依次执行以下命令:

git clone https://github.com/google/benchmark.git
cd benchmark
cmake -E make_directory "build"
cmake -E chdir "build" cmake -DBENCHMARK_DOWNLOAD_DEPENDENCIES=on -DCMAKE_BUILD_TYPE=Release ../
cmake --build "build" --config Release
cmake -E chdir "build" ctest --build-config Release
sudo cmake --build "build" --config Release --target install

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/22609.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发布项目管理生产的时候出现界面滚动不了

新的项目管理发布后出现页面鼠标上下滚动不了的问题,比较奇怪的是,本地开发没有问题,但发布生产后就出现问题了。 因为这次增加的组件比较多,相应的样式也比较多,所以那先分几个部分处理 1、先新加的几个组件是否有冲…

Unity VR 开发教程 OpenXR+XR Interaction Toolkit(九)根据不同物体匹配对应的抓取手势

文章目录 📕教程说明📕前置准备📕HandData 脚本存储手部数据📕制作预设手势📕手势匹配脚本 GrabHandPose⭐完整代码⭐需要保存的数据⭐得知什么时候开始抓取和取消抓取⭐将手势数据赋予手部模型⭐平滑变化手势⭐开始抓…

Spark编程-共享变量(广播变量和累加器)

共享变量是什么 Spark中的两个重要抽象一个是RDD,另一个就是共享变量。 在默认情况下,当Spark在集群的多个不同节点的多个任务上并行运行一个函数时,它会把函数中涉及到的每个变量,在每个任务上都生成一个副本。 但是&…

单轴机器人的结构与特点

单轴机器人是由马达驱动的移动平台,由滚珠螺杆和 U型线性滑轨导引构成,其滑座同时为滚珠螺杆的驱动螺帽及线性滑轨的导引滑块,可用半导体、光电、交通运输业、环保节能产业、精密工具机、机械产业、智慧自动化、生技医疗上。 相对于传统的模组…

Python Web框架 Flask 安装、使用

Python Web框架 Flask 安装 安装 Flask 框架 首先需要安装 Flask 框架, 可以通过以下命令安装: [rootlocalhost web]# pip3 install Flask Collecting FlaskDownloading Flask-2.0.3-py3-none-any.whl (95 kB)|██████████████████████████████…

中国8K摄像机厂家加入国际广电设备制造商协会IABM

近日,BOSMA博冠正式成为国际广电设备制造商协会IABM会员,标志着中国8K摄像机厂家BOSMA博冠在广播电视超高清前端采集领域受到全球广电权威机构认可,进一步推动国产品牌在全球市场竞争中提升品牌知名度、加强行业影响力。 IABM创立于1976年&am…

Spring MVC 注解实现

注解描述 注解描述Controller用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象,分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了RequestMapping 注解。Controller 只是定义了一个控制器类&#xff0c…

Docker 网络

一、背景: 想一下这个问题,容器和容器之间是否可以通过网络正常通信?宿主机和容器是否可以通信?如果可以通信,那为什么可以通信。如果不可以通信,如何让他们之间通信。接下来就详细的讲解下 docker 的网络。…

【编译之美】【4. 代码优化:为什么你的代码比他的更高效】

什么是代码优化 代码优化是编译器后端的两大工作之一,弄懂它,你就掌握了一大块后端技术。 代码优化的目标 代码优化的目标,是优化程序对计算机资源的使用。 代码优化的对象 大多数的代码优化都是在 IR 上做的,而不是在前一阶段…

数据结构---手撕图解堆的实现和TopK的应用

文章目录 重要的概念树的存储方式顺序存储链式存储 堆的概念堆的实现向上调整算法一些实现过程中的技巧实现搭建堆实现出堆的操作向下调整算法 堆排序TopK 重要的概念 要讲到堆,先要说两个关于二叉树的概念 满二叉树:一个二叉树如果每一层的节点数都是最…

FastDVDnet Towards Real-Time Deep Video Denoising Without Flow

FastDVDnet: Towards Real-Time Deep Video Denoising Without Flow Estimation 原文: https://ieeexplore.ieee.org/document/9156652 由于视频有着较强的时间相关性,那么一个好的视频去噪算法必将要充分利用这一特点。利用时间相关性主要体现为两个方面…

Serverless是什么?如何使用?有哪些优势?国内外有哪些Serverless平台?

111. Serverless是什么?如何使用?有哪些优势?国内外有哪些Serverless平台? 一、 Serverless是什么? 百度百科 Serverless 是云计算的一种模型。以平台即服务(PaaS)为基础,无服务器…