您的位置:首页 > 运维架构

Ubuntu16.04,Nvidia驱动+CUDA10.0+cuDNN7.4+CMake+OpenCV3.4.5+Darknet+tensorflow-gpu安装配置流程

2019-04-06 20:36 1431 查看

1、系统及硬件

我的系统是ubuntu16.04,显卡是双2080Ti。
因为楼主也是初次接触ubuntu系统,所以在安装这些东西的时候多次把系统搞崩溃,导致系统重复登陆,或是无图形服务。这篇文章我会尽量写详细一些。如果有什么问题可以在讨论。

2、Nvidia驱动卸载及安装

2.1、下载驱动

这里一定要注意!!!!这里一定要注意!!!!这里一定要注意!!!!
进入tensorflow官网的Install安装界面,点击Linux,查询支持的CUDA和cuDNN版本。
楼主写这篇文章时,tensorflow-gpu支持到了CUDA10.0和cuDNN7.4,所以这就决定了本次软件的安装版本。
这一步的目的时为了确认自己安装哪个版本的显卡驱动

即就是确定顺序为:CUDA->cuDNN->Nvidia驱动->python版本

进入nVidia官网,查询自己的显卡历史驱动,根据上面查询到的结果进行下载(再次重申不要下载最新的!),这里我选择下载了 410.78(放了链接,直接点击)

下载驱动后提取.run到home文件夹内准备进行安装。

2.2、老驱动卸载+新驱动安装

2.2.1、卸载

首先同时按下ctrl+alt+F1进入命令窗口(纯黑色的那个),输入账户及其密码后。进行卸载

sudo apt-get remove --purge nvidia*
sudo autoremove

等待结束后可以,使用下列命令测试驱动程序是否卸载干净

nvidia-smi

有时候驱动这样无法完全卸载,所以就需要在运行一次uninstall文件:

sudo /usr/bin/nvidia-uninstall 	//卸载nvidia驱动
sudo /usr/local/cuda-X.0/bin/uninstall_cuda-X.0.pl	//卸载老版本的cuda,X处填入自己的版本号。如果没装过cuda不用执行这句

接着输入

sudo sh ./NVIDIA-Linux-x86_64-410.78.run					//这里举个例子,后面因该写自己以前的版本号

到这里已经写在完成了,接下来进行安装。

2.2.2、安装

运行如下命令

sudo service lightdm stop				   			//这是为了关闭掉图形服务
sudo chmod a+x NVIDIA-Linux-x86_64-410.78.run		//赋权
sudo ./NVIDIA-Linux-x86_64-410.78.run -no-x-check –no-opengl-files –no-nouveau-check	//安装

注意:不要为了省事不去输入 -no-x-check,-no-opengl-files,-no-nouveau-check
这样可能会带来一些服务冲突问题。

在输入上述命令等待安装过程中会弹出一些列需要选择的东西,可以都使用他默认的选项(也就是一路点回车)
安装完成后,输入

nividia-smi
测试是否安装成功,会出现如下显示,表明安装成功
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.78       Driver Version: 410.78       CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  Off  | 00000000:17:00.0 Off |                  N/A |
| 22%   28C    P8    21W / 250W |      0MiB / 10989MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce RTX 208...  Off  | 00000000:65:00.0  On |                  N/A |
| 22%   32C    P8    25W / 250W |    234MiB / 10988MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    1      2458      G   /usr/lib/firefox/firefox                       6MiB |
+-----------------------------------------------------------------------------+

3、CUDA10.0

首先打预防针,这里千万不要用Ubuntu的自动安装!!!!因为这样导致了我电脑开始循环登录的问题。

3.1、下载及提取

依照tensorflow官网查询到的版本,我们下载CUDA7.4。进入cuda10.0下载界面按照下图进行选择。最后点击download(这里也要注意一下,要选择runfile版本)。下载完成后,会得到一个压缩包,同样提取到home文件夹内,以便于后续操作

3.2、安装CUDA

打开终端,输入

sudo chmod a+x cuda_10.0.130_410.48_linux.run
sudo sh cuda_10.0.130_410.48_linux.run    			 //安装cuda

后面会和安装显卡驱动的时候一样,会有一些选项让我们选择。
有个选择是询问是否安装NVIDIA Accelerated Graphics Driver for Linux-x86_64 ,
一定要选择否,一定要选择否,一定要选择否。

其余的都直接默认或者选择是即可。

3.3、环境配置

sudo gedit ~/.bashrc							//这回打开一个文档,直接拉至末尾。

在文档的末尾输入:
export PATH=/usr/local/cuda-10.0/bin$ {PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存退出后,需要使刚才的改动生效。需要在终端输入:

source /etc/profile 						//使环境变量生效

3.4、检测

验证安装是否成功,在终端输入如下命令

nvcc -V							//查看是否安装成功,如果有如下显示,则表示成功

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, re
3ff7
lease 10.0, V10.0.130

4、cuDNN 7.4

(参考另一篇博文,ubuntu下安装cuDNN:点击访问

4.1、下载

进入cuDNN官网,选择与自己CUDA版本相匹配的cuDNN进行下载。楼主选择了7.4版本。
这里要强调一下,选择的时候选择for Linux版本,不要选择下面的for Library版本。这样下载下来才是压缩文件

4.2、提取并安装

将下载得到的压缩包提取到 home文件夹会得到一个cuda文件夹,进入cuda文件夹后鼠标右键选择在终端打开。

输入如下指令,将解压得到的cuda文件夹内的lib64文件关联到系统环境变量中

sudo gedit ~/.bashrc					 				//打开文档

在文档末尾添加如下字段后 保存并关闭:注意Path路径要写自己路径
export LD_LIBRARY_PATH=/home/cuda/lib64:$LD_LIBRARY_PATH

保存关闭后在终端中输入

source ~/.bashrc

最后一步就是将解压的/home/cuda/include目录下的一些文件拷贝到/usr/local/cuda/include中。在文件夹中输入如下指令。

sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

4.3、测试

在终端中输入如下命令:如果能正确输出cuDNN版本则表明安装正确。

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

5、CMake

5.1、下载CMake

直接去官网可以下载最新的CMake。

下载完成后解压,进入解压得到的文件夹,右键打开终端输入:

./bootstrap
sudo meke -j6						//6表示CPU利用多少
sudo make install

5.2检测

cmake --version
能输出版本信息的话,说明正确安装

6、OpenCV

参考:环境配置—Ubuntu 16.04 安装Opencv 3.4.3

6.1、下载OpenCV

去Opencv官网,点击Release查找历史版本下载点我直达
这里要强调一下。不要安装最新的OpenCV4版本。因为还不支持!!!! 笔者已经碰过壁了

下载完成后,将压缩包提取到Home文件夹内。

6.2、安装opencv 依赖项

一定不能少了这一步!!!,原因还是因为会导致后面出错。
在终端中输入如下指令:

sudo apt-get install buld-essential libtiff5-dev libjpeg-dev libjasper-dev libdc1394-22-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils libeigen3-dev

6.3、安装

流程就是:在解压的opencv文件夹内新建一个build文件夹,进入该文件夹下执行安装程序。

sudo mkdir build
cd build

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j6												//数字6代表用几个CPU核进行make
sudo make install

6.4、添加OpenCV到环境

sudo gedit /etc/ld.so.conf.d/opencv.conf

执行此命令后打开的可能是一个空白的文件,不用管,和前面一样在文件末尾添加

/usr/local/lib

使修改生效,在终端中输入

source ldconfig

添加到环境变量

sudo gedit /etc/bash.bashrc

在打开的文件末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

更新

sudo updatedb

6.5、测试

进入到 opencv-3.4.5/samples/cpp/example_cmake 目录下,右键在终端中打开。官方已经给出了一个cmake的example,我们可以拿来测试下。按顺序执行:

cmake .
make
./opencv_example

效果是打开了摄像头,同时图像内有Hello Opencv。这样表明安装成功

7、DarkNet

这里给出一个参考链接: 点我

7.1、下载安装

打开终端输入如下命令:

git clone https://github.com/pjreddie/darknet.git

等待下载完成后,进入darknet文件夹,右键终端打开。

sudo gedit Makefile

根据自己需要修改对应配置位,因为我么我们已经安装好了CUDA、cuDNN、OpenCV。此处将对应标志位相应改成1.保存关闭文档

继续在终端中输入如下命令(确保目录在darknet下,不然就cd darknet)
···
make
···
如果能make成功,恭喜你,这表明前面的CUDA、cuDNN、OpenCV都没有错。如果make出错。那么就根据报错的提示去解决。

7.2、测试

在darknet文件夹内终端输入如下命令:

./darknet imtest data/eagle.jpg

8、tensorflow-gpu安装

参照官网的安装,直接pip就好如果速度过慢的话推荐使用清华的软件源:

sudo pip3 install tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple

其中可能会遇到:python setuptools版本过低的问题。

ERROR: tensorboard 1.14.0 has requirement setuptools>=41.0.0, but you’ll have setuptools 39.0.0 which is incompatible.

没关系,直接在pip一个对应的python setuptools就好了:

sudo pip3 install python-setuptools==41.0.0

结束语

写文章不易,还请大家转载请注明出处。
第一次写文章,不是很会用csdn,我把参开的博客都做成了超链接放在了文中。大家可以直接点击浏览。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐