怎么在ubuntu20.04上配置yolo环境

上周开会,组长觉得我闲的没事干,就开始让我使用python调取yolo模型,然后就开始了漫漫配环境之路(过程太惨烈就不多讲),这里只记录一下正确的配置方法~


(一)安装驱动

查看当前驱动 然后卸载

查看

dpkg -l | grep nvidia

卸载

sudo apt-get purge nvidia*

清理链接

sudo apt autoremove

查询可用驱动

ubuntu-drivers devices

上述命令很可能什么都不显示,添加官方 ppa 的源,更新源即可

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
ubuntu-drivers devices

怎么在ubuntu20.04上配置yolo环境_第1张图片
自动安装推荐的驱动

sudo ubuntu-drivers autoinstall

也可以指定版本安装

sudo apt install nvidia-driver-435 

安装完成后重启

检验是否安装成功

通过以下两种方式查看是否安装成功

方法一

然后终端输入命令 nvidia-settings,若出现图形设置界面说明到驱动安装成功

nvidia-settings

怎么在ubuntu20.04上配置yolo环境_第2张图片

方法二

首先得安装 mesa-utils

sudo apt-get install mesa-utils

然后再运行命令:

 glxinfo | grep rendering

如果结果是“yes”,证明显卡驱动已经成功安装。
在这里插入图片描述

(二)下载CUDA

查看电脑适合的CUDA版本

nvidia-smi

怎么在ubuntu20.04上配置yolo环境_第3张图片
可以看到我的电脑支持的CUDA最高版本是11.7,所以可以去官网下载11.7以下的版本,但也不要太低。

这里是NVIDIA官网,点击可以看见所有版本的CUDA,选择适合电脑的版本下载即可。(下载之前需要注册帐号,按照官网提示就可以了)

怎么在ubuntu20.04上配置yolo环境_第4张图片
这里我选择的是CUDA 11.7

配置环境

我发现先配置环境会比较好,可以自动生成一个带箭头的快捷文件夹,所以下载之前先配置环境

在新开的一个终端中输入:

sudo gedit .bashrc

打开文档后末尾加入以下信息:

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CPUTI/lib64
export CUDA_HOME=/usr/local/cuda/bin
export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME

然后输入如下命令,将新添加的环境激活:

source .bashrc

开始下载

怎么在ubuntu20.04上配置yolo环境_第5张图片
怎么在ubuntu20.04上配置yolo环境_第6张图片
只需要按照给出的命令执行即可

比如,官网给我的命令是:

wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run
sudo sh cuda_11.7.0_515.43.04_linux.run

输入第一个命令后等待很长一段时间

怎么在ubuntu20.04上配置yolo环境_第7张图片输入第二个命令开始安装

这里选择Continue

怎么在ubuntu20.04上配置yolo环境_第8张图片

这里输入accept

怎么在ubuntu20.04上配置yolo环境_第9张图片

Driver不选(由于上一步已经安装过驱动,所以 NVIDIA Accelerated Graphics Driver 选择否)

怎么在ubuntu20.04上配置yolo环境_第10张图片

这里选择Yes

怎么在ubuntu20.04上配置yolo环境_第11张图片
最后等待很长一段时间就完成了

检验是否安装成功

有两种方法可以验证是否安装成功

方法一

在终端输入:

 nvcc -V

输出结果如下:

怎么在ubuntu20.04上配置yolo环境_第12张图片

方法二

首先进入/usr/local/cuda/samples,打开里面的只读文件,可以看到下载samples的链接
没有的话就直接去这里下载:下载samples

解压缩之后执行以下命令

cd /usr/local/cuda
sudo rm -r samples

然后在解压缩的文件夹里打开终端

sudo cp -r samples /usr/local/cuda/samples

开始验证

cd /usr/local/cuda/samples/Samples/1_Utilities/bandwidthTest

怎么在ubuntu20.04上配置yolo环境_第13张图片

make clean && make
./bandwidthTest 

怎么在ubuntu20.04上配置yolo环境_第14张图片

看到Result=PASS就成功了

(三)下载与CUDA匹配的cuDNN

下载cuDNN之前我们得知道,CUDA和cuDNN是匹配使用的,所以我们得先找到匹配的cuDNN。

这里是官网

怎么在ubuntu20.04上配置yolo环境_第15张图片

因为我下载的是11.4,所以我这里选择8.2.1

怎么在ubuntu20.04上配置yolo环境_第16张图片
等待一段时间

开始安装

怎么在ubuntu20.04上配置yolo环境_第17张图片

双击安装包,按照以下顺序依次安装
怎么在ubuntu20.04上配置yolo环境_第18张图片
怎么在ubuntu20.04上配置yolo环境_第19张图片

怎么在ubuntu20.04上配置yolo环境_第20张图片

检验是否安装成功

复制 sample 到自己目录

安装后代码 在/usr/src/cudnn_samples_v8 下
依次输入以下命令

cp -r /usr/src/cudnn_samples_v8 ~/AI/
cd ~/AI/cudnn_samples_v8
cd mnistCUDNN/
make clean
make
./mnistCUDNN

当出现这种界面时表示安装成功~
怎么在ubuntu20.04上配置yolo环境_第21张图片

怎么在ubuntu20.04上配置yolo环境_第22张图片

看到Test passed!就成功了

(四)安装openCV和opencv_contrib

首先,到官网opencv下载一个喜欢的版本

怎么在ubuntu20.04上配置yolo环境_第23张图片
我下载的是opencv-4.5.5,点击Source直接开始下载

接着下载opencv_contrib,选择相匹配的版本即可

怎么在ubuntu20.04上配置yolo环境_第24张图片

配置环境

sudo apt-get install build-essential 
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

具体的环境配置可以参考这篇文章

开始安装

下载完成之后将这两个压缩包解压缩
并分别放入一个文件夹中
即:
opencv-4.5.5在opencv中
opencv_contrib-4.x在opencv_contrib中(但是这个我改名了,如下)

怎么在ubuntu20.04上配置yolo环境_第25张图片

怎么在ubuntu20.04上配置yolo环境_第26张图片

然后在opencv中建一个文件夹叫build

怎么在ubuntu20.04上配置yolo环境_第27张图片

然后在这里打开终端,输入:

cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_ENABLE_NONFREE=ON \
-D WITH_CUDA=ON -D WITH_CUDNN=ON \
-D OPENCV_DNN_CUDA=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D CUDA_ARCH_BIN=7.5 \
-D WITH_CUBLAS=1 \
-D OPENCV_EXTRA_MODULES_PATH=/home/computer/opencv/opencv_contrib/opencv_contrib-4.5.5/modules \
-D BUILD_EXAMPLES=ON ../opencv-4.5.5/

怎么在ubuntu20.04上配置yolo环境_第28张图片
在这里插入图片描述
出现以上界面就表示大功告成了!!!!

你可能感兴趣的:(ubuntu,ubuntu,linux)