Ubuntu14.04安装cuda8.0+cudnn5.1+Tensorflow1.0.0(GPU)教程

温馨提示:

   本安装教程为TensorFlow GPU预编译安装教程,安装过程比较复杂,如果安装过程中出现错误,请先排除已经出现的错误,否则很容易导致无法成功安装TensorFlow。

   安装过程中,安装过程中,如果对Linux命令操作陌生,请自行熟悉。


操作系统:Ubuntu14.04 lts

cuda版本:cuda_8.0.61_375.26_linux.run

cudnn版本:cudnn-8.0-linux-x64-v5.1.tgz

预先安装依赖项:Anacondagccbazel


1、Anaconda

首先在Anaconda官网下载.sh文件,此处我下载的是bash Anaconda3-4.4.0-Linux-x86_64.sh

然后进入下载目录下,通过以下命令安装Anaconda

bash Anaconda3-4.4.0-Linux-x86_64.sh

一直按enter键确定需要选择的项,直到完成安装。

安装完成后,程序提示是否把anaconda3binary路径加入到.bashrc,选择yes即可。

然后通过以下命令,将ubuntu14.04自带的python3.4升级到最新的python3.6:

conda update conda

conda update anaconda

conda create -n mylab anaconda

conda create -n py3 python=3 anaconda

source activate py3

python -V

如果没有报错,则表示安装成功。

2、安装gcc

直接在终端输入以下命令(电脑处于联网状态):

sudo apt-get build-dep gcc

等到安装完成。

通过以下命令可以查看gcc的版本:

gcc --version

3、 安装bazel

首先需要安装bazel的依赖项JDK8,安装命令如下:

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

注意:如果你没有安装add-apt-repository命令,需要执行sudo apt-get install software-properties-common命令(http://manpages.ubuntu.com/manpages/wily/man1/add-apt-repository.1.html)

然后才能够按照bazel官网的安装方法进行安装。

第一步:添加bazel包源

echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

curl https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg | sudo apt-key add -

第二步:更新安装bazel

sudo apt-get update && sudo apt-get install bazel

安装完成后如果没有提示任何错误则表示成功安装。

4、安装cuda

https://developer.nvidia.com/cuda-downloads中下载对应版本的cuda,此处根据我的系统选择的是cuda_8.0.61_375.26_linux.run版本,文件大小为1.4G.

进入到刚才下载的cuda位置,更改权限:

sudo chmod +x cuda_8.0.61_375.26_linux.run

同时按住ctrl+alt+F1进入命令行模式(注:ctrl+alt+F1~F6分别表示打开6个对应的命令对话界面,ctrl+alt+F7用于切换界面),然后登陆用户,并通过下面的命令关闭显卡驱动:

sudo /etc/init.d/lightdm stop

运行cuda安装包:

sudo ./cuda_8.0.61_375.26_linux.run

等待1~2分钟,会出现◆◆◆◆1%。直接按下Q然后选择accept接受协议,遇到选择(y)es/n(o)/(q)uit的全部选择y,遇到需要确认安装路径的全部选择回车键(默认路径),然后等待安装完成。

安装完成后运行:

sudo /etc/init.d/lightdm restart

如果成功回到图形操作界面,则在终端中进行添加变量路径,否则可以输入startx回到图形操作界面。

设置环境变量,直接在终端中输入以下命令:

gidit .bashrc

然后进入编辑文件中,在最后添加以下路径

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

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

保存修改并退出。

然后输入以下命令检测cuda是否安装成功:

nvcc -V

5、安装cudnn

进入到cuda-8.0的安装目录

cd /usr/local

然后将下载好的cudnn5.1进行解压(这里cudnn放在Downloads下的)

sudo tar -zxvf ~/Downloads/cudnn-8.0-linux-x64-v5.1.tgz

6、编译安装Tensorflow

如果以上步骤均正确安装,则可进行后续安装,否则在后续编译会出错。安装过程中需要在线下载,因此提前联网。

第一步:下载Tensorflow1.0.0-rc0的源代码

wget https://github.com/tensorflow/tensorflow/archive/v1.0.0-rc0.tar.gz

第二步:解压以下载好的Tensorflow1.0.0,注意确保和你下载的文件名一致

tar -zxvf v1.0.0-rc0.tar.gz

第三步:解压完成且未报任何错误,进入Tensorflow代码仓库的目录,然后执行下面的命令进行配置:

cd tensorflow-1.0.0-rc0

./configure

第四步:选择python路径,确保是anacondapython路径即可(x表示我的主机名,每个人的可能不一样)

  Please specify the location of python. [Default is /home/x/anaconda3/bin/python]:

直接按回车键。

第五步:选择CPU编译优化选项,默认的-march=native将选择本地CPU能支持的最佳配置,这一步也直接选择默认配置,按回车键确认即可:

Please specify optimization flags to use during compilation [Default is -march=native]:

第六步:选择是否使用jemalloc作为默认的malloc实现(仅限Linux),直接选择默认设置,输入y即可:

Do you wish to use jemalloc as the malloc implementation? (Linux only) [Y/n]:

第七步:选择是否开启Google Cloud Platform的支持,输入N即可:

Do you wish to build Tensorflow with Google Cloud Platform support[y/n]:

第八步:选择是否需要支持Hadoop File System,如果有读取HDFS数据的需求,则输入y,否则输入默认的N即可:

Do you wish to build Tensorflow with Hadoop File System support? [y/n]:

第九步:选择是否开启XLA JIT编译功能支持,可以选择输入y

Do you wish to build Tensorflow with the XLA just-in-time compiler (experimental)? [y/n]:

第十步:然后选择pythonlibrary路径,依然选择anaconda的路径,直接回车确认即可:

Please input the desired Python library path to use. Default is [/home/x/anaconda3/ lib/python/3.6/site-packages]:

第十一步:接着选择是否需要支持OpenCL,输入n即可:

Do you wish to build Tensorflow with OpenCL support? [y/n]:

第十一步:接着选择是否需要支持CUDA,输入y即可:

Do you wish to build Tensorflow with CUDA support? [y/n]:

第十二步:接下来选择指定的gcc编译器,直接选择默认即可(注意查看一下/usr/bin里面是否存在gcc):

Please specify which gcc should be used by nvcc as the host compiler. [Default is /usr/bin/gcc]:

第十三步:选择要使用的CUDA版本,输入8.0,回车:

Please specify the Cuda SDK version you want to use, e.g. 7.0. [Leave empty to use system default]:

第十四步:选择CUDA的安装路径,这里不能选择默认路径,需要输入/usr/local/cuda-8.0:

Please specify the location where CUDA toolkit is installed. Refer to README.md for more detailes. [Default is /usr/local/cuda]:

第十五步:选择要使用的cuDNN版本,输入5.1,回车:

Please specify the Cudnn version you want to use. [Leave empty to use system default]:

第十六步:选择cuDNN的安装路径,如果默认路径是/usr/local/cuda-8.0,则直接回车,否则输入/usr/local/cuda-8.0:

Please specify the location where cuDNN library is installed. Refer to README.md for more detailes. [Default is /usr/local/cuda-8.0]:

确认之后可能还会出现让你选择cudnn的版本和路径,这个时候全部直接回车确认就行。

第十七步:选择GPU的计算能力,这里我的是6.1,不清楚可以去英伟达官网查询:

Please note that each additional compute capability significantly increases your build time and binary size.[Default is: 3.5,5.2]

至此,配置完成,配置过程中会下载对应需要其他库的代码仓库,等待下载完成即可。

第十八步:编译GPU版本的TensorFlow,执行以下命令,进行编译,整个编译会持续半个小时以上,耐心等待:

bazel build --copt=-march=native -c opt --config=cuda //tensorflow/tools/ pip_package:build_pip_package

第十九步:编译完成之后,执行命令生成pip安装包:

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

生成之后,可以在根目录下的tmp/tensorflow_pkg中看到一个.whl文件

第二十步:安装生成的.whl文件

pip install /tmp/tensorflow_pkg/tensorflow-1.0.0rc0-cp36-cp36m-linux_x86_64.whl

参考:

1、Anaconda安装以及更改python版本:http://www.jianshu.com/p/0e28a8f581ff?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=weixin-friends&from=singlemessage&isappinstalled=1

2、bazel安装教程: http://blog.csdn.net/u010510350/article/details/52247972

3、cuda安装:https://zhuanlan.zhihu.com/p/27700114

http://blog.csdn.net/l297969586/article/details/53320706

4、TensorFlow实战》TensorFlow安装教程

感谢以上博主或版主的详细分析!

你可能感兴趣的:(安装教程)