Ubuntu 16.04 nvidia-384 CUDA9.0 cuDNN7.0.5 Tensorflow1.6.0 anaconda3.5(python3.6)环境搭建

经历了一系列吐血的安装之后,总算是找到了一个比较好的安装方法,主要就是搭建基于Ubuntu 16.04 下的 tensorflow环境的搭建,本博客参考:https://cuiqingcai.com/5822.html

笔者这两天尝试了许多种安装搭建tensorflow的方法,网上绝大多数的博客写的都是误人子弟,根本没有必要搭建一个tensorflow-gpu的虚拟环境,没有太多参考价值,直到尝试了上面的链接方法,才总算搭建成功。为了搭建这个环境,自己重装了4次linux系统,下面是自己的一些安装流程,仅供小白参考,大神就绕道啦。。。。

第一步:装好Ubuntu 16.04系统

Ubuntu 16.04的安装还是非常容易的,我在自己的服务器上面是采用UEFI的安装方式,具体安装过程,自行百度,还是很简单的。

第二步:安装anaconda3

直接在anaconda官网下载最新版本的anconda3-5.2.0,对应的python版本是3.6,这里注意tensorflow1.4.0以上就已经支持Python3.6了,笔者当时安装的python3.5,然后安装tensorflow1.7.0,在使用tensorflow时,就会提示你python版本过低,最后不得不重新安装python3.6,导致最后的tensorflow也要重新安装。安装的anaconda如下图。

安装过程:

下载下来之后目录下会出现一个 Anaconda3-5.2.0-Linux-x86_64.sh 文件,然后直接在终端执行即可安装:

$ bash Anaconda3-5.2.0-Linux-x86_64.sh

执行完毕之后按照默认设置走下来即可完成安装。

 这里会默认安装到用户目录下,直接安装到默认用户下即可,后面会有一句问你是否要添加到~/.bashrc,这里要选择y,即添加路径。

当然你也可以自己手动添加路径到bashrc中,具体步骤:

$ gedit ~/.bashrc
#打开 bashrc,并添加环境变量
$ export PATH="/home/njust/anaconda3/bin:$PATH"
#最后用source ~/.bashrc,保存结果
$ source ~/.bashrc

 接下来我们验证下 python3的指令是否来自anaconda3里面:具体指令如下:

 最后的tensorflow我将采用pip来进行安装,首先你得保证使用的pip指令是在anaconda3里面的,可以通过

$ pip -V

 来查看你的pip命令是否来自anaconda3,如我的电脑指令,以及pip的路径

此时,python3.6就安装成功了。

第三步:安装驱动

首先查看一下自己的电脑需要怎样的驱动,我们可以先到nvidia官网查看一下,根据自己的显卡型号来进行查看:NVIDIA驱动

比如我的GTX1080ti的驱动查询如下:

看上面的版本型号,我当时想直接下载390的版本,但是在我安装的时候一直安装失败,所以我就直接安装384的版本。

注:目前大部分安装的都是384的版本,比较稳定,推荐大家安装。

一定要记住版本号:如我所选择的是Verson:384.13,那么到时候的安装指令就是:

$ sudo apt-get install nvidia-384

安装过程: 该驱动安装必须要先关闭桌面显示管理器

1)接下来如果我们之前安装了驱动的话,可以重新安装一下,如果当前已经安装好了就不必了

如果要重装,需要先卸载掉之前的显卡驱动:

$ sudo apt-get remove –purge nvidia*

2)ubuntu16.04开机后,按住ctrl+alt+F1,进入tty界面,首先登录自己的电脑用户名及密码(此时小键盘不可用

3)登陆后,关闭桌面显示管理器;

$ sudo service lightdm stop

4使用ppa源进行安装,安装方便,成功率高:

$ sudo add-apt-repository ppa: graphics-drivers/ppa

5选择之前选择的合适的驱动版本,安装N卡:

$ sudo apt-get install nvidia-384(具体看个人电脑推荐)

6)等安装完毕重启一下电脑,敲入指令重启:

$ sudo reboot

注:想从无桌面显示中回到带有桌面显示的界面,可以敲入指令:

$ sudo service lightdm start

若不行,先起敲入指令关闭,再敲入打开指令即可

7)重启后正常进入带有桌面显示管理器的界面,查看n卡安装情况:

$ nvidia-smi

如果有显卡信息显示出来,则表示成功,我的1080ti的显示为:

第四步:cuda9.0安装

1安装前先检查一下自己电脑是否已经安装好gcc

$ sudo apt-get install build-essential

装好后,运行下面该指令能够看到gcc的版本信息,就说明成功

$ gcc -V

注:cuda9.0支持ubuntu16.04自带的gcc,即5.4版本,cuda8.0并不支持5.4版的gcc,如果你安装的是cuda8.0,还必须得降级。

2确定有cuda使用的GPU ,可使用下面命:

$ lspci | grep -i nvidia

得到入下图:

如果存在旧版本,可以选择先卸载,以免和新的CUDA版本产生冲突,在/usr/local/cuda/bin目录下有一个uninstallcuda*.pl文件,可以直接运行卸载,命令如下:

$ sudo ./uninstall_cuda_*.pl

这样即可将 CUDA 全部卸载。

接下来我们再下载 CUDA 9.0,注意 TensorFlow 1.5 和 1.6 版本依然只是兼容 CUDA 9.0,没有兼容 CUDA 9.1,所以不要下载 9.1,Tensorflow 1.4即以下只支持CUDA8.0的版本,并且不支持cuDNNv5.1.

3)CUDA 9.0 的下载地址是:https://developer.nvidia.com/cuda-90-download-archive,,然后依次勾选好系统的版本,如图所示:

 这里我们选择 Linux-x86_64-Ubuntu-16.04-runfile 的配置,然后点击 Base Installer 部分的 Download 按钮,下载 CUDA 9.0 安装包。这里我只介绍.run格式的安装方法。

对应的下载命令是:

$ wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run

4)接下来执行安装,运行如下命令:

$ sudo bash cuda_9.0.176_384.81_linux-run

5)安装过程需要输入一些确认选项,过程如下:(很重要)

安装时,先出来版本信息,通过按“空格”与“回车键”,阅读安装的证书内容,接着会提示你安装相应的驱动:

按q键竟然可以跳过阅读的证书内容,输入accept接受;

Description
 
The NVIDIA CUDA Toolkit provides command-line and graphical
tools for building, debugging and optimizing the performance
Do you accept the previously read EULA?
accept/decline/quit: accept
 
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n
 
Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y
 
Enter Toolkit Location
 [ default is /usr/local/cuda-9.0 ]: 
 
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
 
Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y
 
Enter CUDA Samples Location
 [ default is /home/cqc ]: 
 
Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...

最后如果出现这样的提示,就证明 CUDA 安装好了:

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-9.0
Samples:  Installed in /home/cqc, but missing recommended libraries

Please make sure that
 -   PATH includes /usr/local/cuda-9.0/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-9.0/lib64, or, add /usr/local/cuda-9.0/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-9.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-9.0/doc/pdf for detailed information on setting up CUDA.

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 9.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
    sudo <CudaInstaller>.run -silent -driver

6)然后我们需要配置一下环境变量,更改 ~/.bashrc 文件,打开指令:

$ gedit ~/.bashrc

在最后添加如下几行: 

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

修改完毕之后执行一下使其生效:

$ source ~/.bashrc

7)这时我们输出 CUDA_HOME、LD_LIBRARY_PATH 就可以看到对应的输出了:

$ echo $CUDA_HOME
/usr/local/cuda
$ echo $LD_LIBRARY_PATH
/usr/local/cuda/lib64

这样就代表环境变量生效了,CUDA 安装完成。

8)测试cuda的Sample例子

$ cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
$ sudo make
$ ./deviceQuery

如果显示的是关于GPU的信息,则说明安装成功了。

如下图是部分截图:

第五步:cuDNN7.0.5(7.0,7.1均可)

这里cuDNN版本不能是v7以下的,cuDNN 的全称是 The NVIDIA CUDA® Deep Neural Network library,是专门用来对深度学习加速的库,它支持 Caffe2, MATLAB, Microsoft Cognitive Toolkit, TensorFlow, Theano 及 PyTorch 等深度学习的加速优化。

1,接下来我们来看下它的安装方式。

下载链接:https://developer.nvidia.com/rdp/cudnn-download

这里需要你去注册一个账号才能下载,目前我看到的版本已经更新到最新的7.2了,不过不推荐大家安装最新的,一般最新的版本兼容性都不太好,这也是我为啥不安装的原因,吐血的经历。。。

如图,选择往期的版本,这里得根据自己的型号来进行选择:

2)下载下来之后解压安装,以及配置软连接如下所示:

$ tar -zxvf cudnn-9.0-linux-x64-v7.1.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

执行完如上命令之后,cuDNN 就安装好了,这时我们可以发现在 /usr/local/cuda/include 目录下就多了 cudnn.h 头文件)

第六步:Tensorflow 1.6.0的安装

1)到现在为止 Python 3.6、CUDA 9.0 和 cuDNN 7.0 就已经安装好了,而且环境变量也配置好了,接下来我们直接安装 TensorFlow 1.6 即可,TensorFlow 1.6 版本针对 CUDA 9 和 cuDNN 7 做了优化,可以预构建二进制文件。

注意:这里不推荐大家通过在anaconda3里面先构建虚拟环境(tensorflow-gpu),在虚拟环境中安装Tensorflow,我当时构建虚拟环境后要来回的切换,特别麻烦,而且比如使用jupyter notebook就必须在虚拟环境中下载一下,但是使用的时候总是莫名其妙的错误,笔者尝试了诸多版本CUDA8.0,cudnn6.0以及5.1,以及cuda9.0,cudnn7.0都是同样的错误,百度谷歌如果,才不安装虚拟环境的。

这里需要安装的是 TensorFlow 的 GPU 版本,直接使用如下命令即可:

$ pip install tensorflow-gpu==1.6.0
#注意:如果这里不加==1.6.0,会直接安装最新版本的1.9.0,大家知道最新版的兼容性一般都不太好,所以并不推荐大家安装。
#安装完之后验证一下:
#进入python环境
$ python
#在python里面执行
$ import tensorflow

笔者在执行导入Tensorflow时,会报如下的错误:

 经过查询可以得知:包内出错,是h5py包

解决办法,是对它进行升级:

查看原来包的版本,可以通过指令 conda list 找到h5py,发现它是 2.7.1版本

通过指令升级:

$ pip install h5py==2.8.0rc1

下载完后,再重新import导入tensorflow,就不会出错了。

笔者在导入 import cv2会提示:ImportError: No module named cv2 报错处理,

这是因为你的anaconda3里面并没有opencv这个包,这通过安装opencv库解决不了。

最简单的就是通过指令:

$ pip install opencv-python

2)顺便把keras也装一下:

$ pip install keras

装好之后,在python环境下 import keras,如果出现这个就说明成功了:

至此,所有的环境就搭建完成了。

环境如下:Ubuntu 16.04 GTX1080ti驱动 CUDA9.0 cuDNN7.0 anaconda3(python3.6) Tensorflow 1.6

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值