您的位置:首页 > 编程语言 > Python开发

Ubuntu16.04LTS+CUDA8.0+cuDNN5.1+Anaconda3(python3.6)+tensorflow_gpu-1.2.1安装过程全记录

2017-12-10 23:31 1166 查看

Ubuntu16.04LTS+CUDA8.0+cuDNN5.1+Anaconda3(python3.6)+tensorflow_gpu-1.2.1安装过程全记录

       最近搭建了一台用于深度学习的服务器,其中过程颇为曲折,在网上参考了众多博客后写下此文。参考的博客有:

       [1]http://blog.csdn.net/ZWX2445205419/article/details/69429518

       [2]http://blog.csdn.net/abc869788668/article/details/78331047?locationNum=1&fps=1

       [3]http://blog.csdn.net/u010899985/article/details/59482825


       [4]http://blog.csdn.net/u014595019/article/details/53732015

       [5]http://blog.csdn.net/masa_fish/article/details/51882183

       [6]http://blog.csdn.net/iotlpf/article/details/54175064

一、安装环境说明

       首先在服务器中已经装好了Ubuntu16.04LTS系统,关于ubuntu系统的安装细节网上教程很多,此文不再赘述。

软件版本下载链接说明
Ubuntu系统Ubuntu16.04 LTShttp://blog.csdn.net/a

llenlzcoder/article/de

tails/77449467
 
CUDAcuda_8.0.61_375.26_linux.run
最新版本链接:https://

developer.nvidia.com/c

uda-downloads

历史版本链接:http://blog.csdn

.net/allenlzcoder/artic

le/details/78649724
NVIDIA推出的

使用GPU资源

进行通用计算

的SDK
cuDNNcudnn-8.0-linux-x64-v5.1.tgz
官网下载(需注册账号): https://developer.nvidia.
com/rdp/cudnn-download

百度网盘:https://pan.b

aidu.com/s/1miodWqG
cuDNN的版

本要与CUDA

的版本匹配
Anaconda3
Anaconda3-5.0.1-Linux-x86_64.sh
官网下载:https://www.

anaconda.com/downlo

ad/#linux 
Anaconda中

集成了很多

python库,

安装方便,

强烈推荐
TensorFlowtensorflow_gpu-1.2.1-cp36-cp36m-linux_x86_64.whl
https://storage.googlea

pis.com/tensorflow/linu

x/gpu/tensorflow_gpu-

1.2.1-cp36-cp36m-linux_x86_64.whl
1.3的编译版本

是用NVIDIA的

cuDNN 6编译

的,1.2.1用的

是cuDNN 5.1

二、安装显卡驱动

       在终端中输入以下命令查看看显卡驱动:lsmod | grep -i nvidia。这时会输出默认的ubuntu自带的驱动nouveau的相关信息。首先要换显卡驱动。

       在ubuntu16.04中,更换驱动非常方便,去系统设置->软件更新->附加驱动->切换到最新的NVIDIA驱动即可。应用更改->重启。如图1所示(图1系转载):



图1:选择NVIDIA显卡的专用驱动
       在命令行中输入:nvidia-smi。若输出类似下图2(图2系转载)所示的信息,则证明驱动安装成功。



图2:显卡驱动的相关信息
       在有的博客中看到说这种方法安装的驱动版本不是最新版本,会导致后面运行CUDA例子时报错,但我在安装时可以自动识别出最新的驱动版本384,在后面跑CUDA samples时也没有问题。其他安装驱动的方法可以见参考链接[6]。

       之所以要提前安装显卡驱动而非在安装CUDA时安装显卡驱动的好处是可以简化安装步骤,省掉了禁止nouveau的这一步。只不过要注意,在后面安装CUDA时要选择是否安装显卡驱动,那时候要选择NO!

三、检查自己的电脑环境是否具备安装CUDA的条件(首先下载一份CUDA8.0官方安装文档,并按照上面的要求一步步的来,且不可偷懒!!!)

       3.1检查自己的GPU是否是CUDA-capable

       在终端中输入:$ lspci | grep -i nvidia ,会显示自己的NVIDIA GPU版本信息,类似图3中的信息(图3系转载)。


 
图3:GPU信息
       去CUDA的官网查看自己的GPU版本是否在CUDA的支持列表中。GTX1080是支持安装CUDA8.0的。

       3.2检查自己的Linux版本是否支持 CUDA

       CUDA开发工具只支持几个特定的Linux发行版本。具体信息如图4所示。



图4:CUDA8.0支持的软件版本
       Ubuntu16.04LTS是支持CUDA8.0的。如要查看自己系统的信息,在命令行中输入:

$ uname -m && cat /etc/*release
       输出信息类似图5所示(图5系转载):



图5:操作系统信息

       3.3检查自己的系统中是否装了gcc

       在终端中输入:$ gcc --version 可以查看自己的gcc版本信息,ubuntu16.04自带的gcc版本是5.4.0,由图2中的信息可知最高支持版本是5.3.1,这里需要对gcc进行降版本操作,这里降为5.3.0版的。

       3.3.1下载gcc的源码,网址:http://gcc.gnu.org/mirrors.html

       3.3.2将源码放到某个文件夹中,然后进入此文件夹,解压之:tar -zxvf gcc-5.3.0.tar.gz

       3.3.3下载编译所需依赖项:

              cd gcc-5.3.0                                   //进入解包后的gcc文件夹
              ./contrib/download_prerequisites   //下载依赖项
              cd ..                                                //返回上层目录

       3.3.4建立编译输出目录:mkdir gcc-build-5.3.0

       3.3.5进入输出目录,执行以下命令,并生成makefile文件:

              cd gcc-build-5.3.0

              ../gcc-5.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

       3.3.6编译:sudo make -j4。接下来就是等待了,最好不要在编译过程中再去做别的什么事,整个过程CPU都是满载的,要是莫名终止了,后面麻烦事也不少。

       3.3.7编译结束以后,可以执行安装:sudo make install

       3.3.8检查gcc和g++版本,命令分别是:gcc --version、g++ --version,若输出信息均为5.3.0则正确。

       PS:以上8步搞完后,应该是不对的,gcc的版本并未改变,当时是又问了实验室的一位资深工程师才解决的,待我问好之后,就回来更新。。。。。。

       3.4 检查是否安装了正确版本的Kernel Headers和Development Packages

# 查看核
$ uname -r
# 为当前核安装kernel headers和development packages
$ sudo apt-get install linux-headers-$(uname -r)
       经检查,我的ubuntu中的kernel是4.4.0版本,刚好符合图4中的要求。在这一步并未有其他操作。

       3.5选择一种安装方式

       下载cuda安装包:cuda官网下载,根据系统信息选择对应的版本,runfile安装的话最后一项要选择 runfile文件。看到其他博客上说另一种安装方式坑太多,所以采用runfile方式安装。具体的选择如图6所示。



图6:选择与系统对应版本的CUDA
       选完后会紧接着出现下一张图7中的信息。



图7:CUDA的下载链接
       此时会出现两个下载选项Base Installer和Patch 2,Patch 2应该是和补丁,但怎么用这个补丁没有在别人的博客中见到过,我也不想做第一个吃螃蟹的人,所以就没下(如果大家知道怎么用这个补丁,欢迎在评论中指教~~~) 。注意看第二个红圈,这就是相应版本CUDA的官方安装指南~~~
       注意:如果之前装过cuda的其他版本,则还要处理潜在的冲突问题,具体请见CUDA8.0官方安装文档中的2.7小节中的内容,因为我的是新机器,此处略过~~~

四、安装CUDA和cuDNN

       4.1运行CUDA的可执行文件

       进入到该文件的目录下,在命令行中输入:sudo sh cuda_8.0.61_375.26_linux.run
       然后会出现很多选项,让你选择:

Do you accept the previously read EULA?

accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?

(y)es/(n)o/(q)uit: n

Install the CUDA 8.0 Toolkit?

(y)es/(n)o/(q)uit: y

Enter Toolkit Location

[ default is /usr/local/cuda-8.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?

(y)es/(n)o/(q)uit: y

Install the CUDA 8.0 Samples?

(y)es/(n)o/(q)uit: y

       如上所示,简单而言:除了在是否选择安装显卡驱动时选择n(因为之前已经装过了),其他均选择y。

       4.2在系统环境中设置CUDA的环境变量

       在命令行中输入:sudo gedit /etc/profile,打开文件后在文件末尾添加路径,也就是安装目录,命令如下:

    export PATH=/usr/local/cuda-8.0/bin:$PATH

    export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH  

  保存,然后重启电脑:sudo reboot

       测试CUDA的例子,在命令行中输入:

              cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

              sudo make

              ./deviceQuery

       如果显示的是关于GPU的信息,类似图8(图8系转载)则说明安装成功了。



图8:验证CUDA是否装好的一个例子

       4.3安装cuDNN

       cuDNN下载相应版本,cd到下载的文件目录下,解压:tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz。解压在下载目录下产生一个cuda目录,然后执行以下命令:

       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 /usr/local/cuda/lib64/libcudnn* //给所有用户赋予读的权限

       然后重置cuDNN相应的符号链接(此步骤必不可少!否则无法正确安装cuDNN!):

       cd /usr/local/cuda/lib64/                                 //进入到cuda库文件的目录下

       sudo rm -rf libcudnn.so libcudnn.so.5            //删除原先的符号链接

       sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5   //建立新的软连接 

       sudo ln -s libcudnn.so.5 libcudnn.so              //建立新的软连接

       至此,CUDA和cuDNN的安装已经完成!最复杂的问题已经解决!不要停下来,继续向前!

五、安装Anaconda和TensorFlow

       5.1安装Anaconda

       到官网上下载好Anaconda的安装包,拷贝到某个文件夹下,然后cd至此目录中,我是以root用户安装的,故在执行安装命令前首先切到了root用户下,再输入:bash Anaconda3-5.0.1-Linux-x86_64.sh。注意:在安装过程中选择是否把Anaconda的路径加入到环境变量中时,选择是;然后把Anaconda的安装地址改为了/usr/local/。
       这样安装完成后,只是root用户的python版本变成了python3.6,其余用户还是ubunt自带的python2.7,为了让所有用户都能用python3.6。需要执行下面的命令:sudo
gedit /etc/profile,在文件的末尾加一句:
       export PATH=/usr/local/anaconda3/bin:$PATH
       然后保存退出,重启电脑后,所有的用户的python版本全成了python3.6。至此,python已经装好了,还差一步!

       5.2安装GPU版的TensorFlow

       首先建立一个conda计算环境,命令:conda create -n tensorflow。激活环境 : source activate tensorflow。然后cd至TensorFlow安装包的目录下:pip install tensorflow_gpu-1.2.1-cp36-cp36m-linux_x86_64.whl,相关依赖项会自动安装。ps:我在安装TensorFlow时并不是用的root用户,所以在root用户下无法import
tensorflow......
       等到安装完TensorFlow后,输入source deactivate tensorflow,退出安装环境。
       ALL ARE OVER!!!
       感谢网上的各位前辈们的辛苦的探索和分享的宝贵的经验!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐