ubuntu16.04 + tensorflow1.5-gpu + cuda9.0 +cudnn

近期,我们实验室开了一个新的方向,关于AI,随后,我开始学习tensorflow的一些知识,要使用该软件,首先要正确安装,尤其是用到gpu的时候,需要安装tensorflow的gpu版本,目前最新的版本是tensorflow1.5,cuda的最新版本是9.1,但是目前tensorflow只支持cuda9.0,因此,我们用的是tensorflow1.5-gpu和cuda9.0 。

我们的服务器安装的是ubuntu16.04 server版,个人喜欢ubuntu系统,因此,此后所有的命令行都是基于ubuntu系统写的,如果使用了其他系统,您可根据等价命令来完成操作。

另外,我们的迷你集群共有3台服务器,每台服务器配备有一个NVIDIA Tesla K80 计算卡。目的主要在于测试分布式系统的性能表现。

1、nouveau驱动去除。

首先,ubuntu系统中自带了公版显卡驱动,需要将其禁用,操作是:

(1) 在再modprobe.d文件夹下创建 blacklist-nouveau.conf

sudo vi /etc/modprobe.d/blacklist-nouveau.conf

(2)在创建的文件中写入以下语句:

blacklist nouveau
options nouveau modeset=0
(3)更新一下,使其生效

sudo update-initramfs -u
(4)重启计算机,强制使blacklist生效

sudo reboot
(5)检查是否成功去除nouveau驱动

lsmod | grep nouveau

如图所示,当输入上述命令之后,没有任何显示,证明nouveau驱动已经被去除,可以开始NVIDIA的驱动安装工作。


如果是这样,表示没有去除成功,重复上述步骤。

2、NVIDIA驱动的安装

(1)、查看gpu是否被识别

lspci | grep NV


如果显示如上图所示,证明已经识别成功,有的机器可能会因为pcie的选项设置被禁用,所以,无法识别显卡,如果是那样,可以在bios中将对应项设置为enable即可。

(2)、但此时,显卡的驱动并没有安装,需要我们下载对应的显卡驱动。

 这里有几种方法,先说一种最为常规的方法,就是在官网上下载安装包,(官方下载:http://www.nvidia.cn/Download/index.aspx?lang=cn),在网页上选择自己服务器对应的系统版本,使用的显卡型号等,下载对应的驱动版本。如下图是我的选择


大家在上图可以看到CUDA Toolkit选项,其实如果你要用到该工具,在安装此工具的时候,就会让用户选择是否安装显卡驱动,这种方法在稍后的介绍中会介绍到,但总体来说,这一步比较简单,而且我采用的是在安装cuda的时候顺便安装了。

显卡安装成功后,输入命令:

watch -n 1 nvidia-smi
显示:


表示安装成功,如果显示 nvidia not found,表示需要重新安装驱动。

(3)安装cuda

我们选取的版本是cuda-9.0 。之所以使用cuda是因为当我们需要显卡去并行解决一些复杂的运算问题的时候,需要用到,而且安装tensorflow的时候,cuda是必须要的。在官网上下载即可。(https://developer.nvidia.com/cuda-90-download-archive?)


下载文件,可能要一个多G,下载结束后,安装即可:

sudo sh cuda_9.0.176_384.81_linux.run


这一步的意思就是是否安装显卡驱动,如果前面并没有安装,在这里可以选择y









安装成功以后,需要配置环境变量 :

vi ~/.bashrc
在文件中写入:

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

保存后,键入命令:

source ~/.bashrc
至此,环境变量配置完成。

检查cuda是否安装成功。可以将cuda文件夹下的samples复制一份出来。

sudo cp -r /usr/local/cuda/samples /samples
sudo cd samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

若显示如下信息,表示安装正常。


(4)安装cudnn

cudnn是在cuda标准下,对一些常用的神经网络操作进行优化,所以,建议安装一下。

首先,在官方网站上下载对应buda版本的cudnn版本(https://developer.nvidia.com/rdp/cudnn-download)。如图


因为我是适用的cuda9.0,所以,以上红色方框中的两个均可。


先将这四个文件都下载下来,后三个主要用来验证是否安装成功。将下载的第一个文件(压缩包)解压,然后将其中的库文件复制到安装目录下。

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*
检查安装是否成功:

然后分别运行后三个文件,需要按顺序运行。

sudo dpkg -i libcudnn7_7.0.5.15-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.5.15-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.5.15-1+cuda9.0_amd64.deb
但是下载后,这三个包名字是不太一样的,所以,有一个简单的方法就是,根据文件大小,先运行大的文件,再运行小的文件。
结束之后我们需要将几个文件复制到/usr/lib目录下,避免接下来的测试报错。

sudo cp /usr/local/cuda-9.0/lib64/libcudart.so.9.0 /usr/local/lib/libcudart.so.9.0 && sudo ldconfig 
sudo cp /usr/local/cuda-9.0/lib64/libcublas.so.9.0 /usr/local/lib/libcublas.so.9.0 && sudo ldconfig
sudo cp /usr/local/cuda-9.0/lib64/libcurand.so.9.0 /usr/local/lib/libcurand.so.9.0 && sudo ldconfig
本文所有的测试都是将相应的文件复制一份出来进行编译,这次也不例外
 sudo cp -r /usr/src/cudnn_samples_v7/ /HOME/cudnn_samples_v7
cd到/HOME/cudnn_samples_v7/mnistCUDNN目录下。

sudo make clean
sudo make
./mnistCUDNN
当结果中出现Test passed!时,表示安装成功。



(5)安装tensorflow。

sudo apt-get install python
sudo apt-get install python-pip python-dev

因为tensorflow基于python编写,所以python那一套东西肯定是需要的,很多linux系统是自带python的,但是,我的这个服务器版本比较干净,所以,需要自己安装,以上是安装语句。

tensorflow的安装比较简洁,相对而言符合google的风格,但是,由于墙的原因,下载速度让人着实不爽。

这里可以参考官方手册,一句命令即可搞定。这里推荐使用pip安装

sudo pip install tensorflow-gpu
sudo pip install upgrade

如果上述过程中,出现pip版本过低的情况升级就好,命令是:

python -m pip install --upgrade pip

如果按照上述方法安装tensorflow一定要写sudo,否则就哭吧,当然也可以在国内一些源上下载,例如:(https://pypi.python.org/pypi/tensorflow-gpu)或者(https://pypi.tuna.tsinghua.edu.cn/simple/tensorflow-gpu/)

至此,等安装结束,tensorflow部署完毕。如图所示:


测试安装结果:


表示安装成功。








  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值