Ubuntu系统下,深度学习套件Nvidia驱动+CUDA10.0+cuDNN7.4+CMake+OpenCV3.4.5+Darknet+tensorflow-gpu安装配置流程
1、系统及硬件
我的系统是ubuntu16.04,显卡是双2080Ti。
因为楼主也是初次接触ubuntu系统,所以在安装这些东西的时候多次把系统搞崩溃,导致系统重复登陆,或是无图形服务。这篇文章我会尽量写详细一些。如果有什么问题可以在讨论。
2、Nvidia驱动卸载及安装
2.1、下载驱动
这里一定要注意!!!!这里一定要注意!!!!这里一定要注意!!!!
进入tensorflow官网的Install安装界面,点击Linux,查询支持的CUDA和cuDNN版本。
楼主写这篇文章时,tensorflow-gpu支持到了CUDA10.0和cuDNN7.4,所以这就决定了本次软件的安装版本。
这一步的目的时为了确认自己安装哪个版本的显卡驱动
进入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 sh ./NVIDIA-Linux-x86_64-410.78.run //这里举个例子,后面因该写自己以前的版本号
到这里已经写在完成了,接下来进行安装。
2.2.2、安装
运行如下命令
sudo survice 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 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, release 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安装
简单
结束语
写文章不易,还请大家转载请注明出处。
第一次写文章,不是很会用****,我把参开的博客都做成了超链接放在了文中。大家可以直接点击浏览。