ubuntu16.04下安装TensorFlow(GPU加速)----详细图文教程

文章来源:http://www.datacups.com/post/1

软件: ubuntu16.04+cuda8.0+cudnn v5+tensorflow 0.11


1. 下载

1.1 系统镜像

由于我尝试了ubuntu14.04,安装Nvidia驱动之后,会出现循环登录的问题,并始终无法找到有效的解决途径,所以只能选择ubuntu16.04了。
镜像地址https://www.ubuntu.com/download/alternative-downloads


1.2 CUDA 8.0

https://developer.nvidia.com/cuda-downloads(下载地址)
说明:
(1)在NVIDIA的CUDA下载页面下,选择要使用的CUDA版本进行下载。
(2)我们这里使用CUDA8.0(页面有提示GTX1070、GTX1080支持8.0版本),学员如果没有使用以上两个版本的GPU,可以下载CUDA7.5。DOWNLOAD(下载)。
(3)下载需要注册。
(4)图解选择


1.3 cuDNN v5

下载地址:https://developer.nvidia.com/cudnn(需要登录)
说明:
(1)下载需要填写一个调查问卷,就三个选项,建议认真填写,毕竟人家免费给咱使用。
(2)填写完毕点击 I Agree To 前面的小方框,出现如下:


1.4 Tensorflow 0.11

tensorflow github上面提到 4 种安装方式,本教程使用 第四种 源码安装
Virtualenv installation
Anaconda installation
Docker installation
Installing from sources
https://github.com/tensorflow/tensorflow(下载地址)
说明:
(1)打开下载页面,往下翻,直到下图这个位置:


(2) 点击Python 2开始下载。


最后,将1.2-1.4中下载文件全部存放至自己的移动硬盘/U盘内,等待安装时候使用。

2. 安装ubuntu16.04 LTS 系统

安装Ubuntu16.04:
http://jingyan.baidu.com/article/eb9f7b6d8536a8869364e813.html
说明:
(1)我们直接安装的英文原版系统,语言也是选择英文的。
(2)上述链接在–第三步:安装类型上选择的是–自定义。我们选择的是–清除整个磁盘并且安装,如果你有Windows系统,还会提示安装Ubuntu16.04与Windows并存模式。这个自行选择,切记!这个地方谨慎选择。
(3)感谢百度经验上传者!

3. 安装NVIDIA驱动

打开terminal输入以下指令:

sudoapt-getupdate1

然后在系统设置->软件更新->附加驱动->选择nvidia最新驱动(361)->应用更改

3. cuda 8.0

3.1 安装cuda

在cuda所在目录打开terminal依次输入以下指令:

cd/home/***(自己的用户名)/Desktop/###(这个命令意思是找到刚刚我们用U盘传过来的文件)sudodpkg-icuda-repo-ubuntu1604-8-0-rc_8.0.27-1_amd64.debsudoapt-getupdatesudoapt-getinstallcuda1234

3.2 gcc降版本

ubuntu的gcc编译器是5.4.0,然而cuda8.0不支持5.0以上的编译器,因此需要降级,把编译器版本降到4.9:
在terminal中执行:

sudoapt-getinstallg++-4.9sudoupdate-alternatives--install/usr/bin/gccgcc/usr/bin/gcc-4.920sudoupdate-alternatives--install/usr/bin/gccgcc/usr/bin/gcc-510sudoupdate-alternatives--install/usr/bin/g++g++/usr/bin/g++-4.920sudoupdate-alternatives--install/usr/bin/g++g++/usr/bin/g++-510sudoupdate-alternatives--install/usr/bin/cccc/usr/bin/gcc30sudoupdate-alternatives--setcc/usr/bin/gccsudoupdate-alternatives--install/usr/bin/c++c++/usr/bin/g++30sudoupdate-alternatives--setc++/usr/bin/g++123456789

3. 安装cuDNN

打开terminal依次输入以下指令:

cd/home/***(自己的用户名)/Desktop/###(这个命令意思是找到刚刚我们用U盘传过来的文件)tarxvzfcudnn-8.0-linux-x64-v5.1-ga.tgz###(解压这个文件)sudocpcuda/include/cudnn.h/usr/local/cuda/include###(复制)sudocpcuda/lib64/libcudnn*/usr/local/cuda/lib64###(复制)sudochmoda+r/usr/local/cuda/include/cudnn.h/usr/local/cuda/lib64/libcudnn*12345

4. 安装其他依赖

4.1 配置环境变量


按照上图的教程,在terminal中输入以下命令:

sudogedit~/.bash_profile#打开.bash_profile1

然后在打开的文本末尾加入:

exportLD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"exportCUDA_HOME=/usr/local/cuda12

继续在terminal中输入:

source~/.bash_profile#使更改的环境变量生效1

当然,也有其他教程在文件~/.bashrc文件中写入的,方法与上面的类似。如果在后面配置./config文件出现问题时,可以实现这个方法。

4.2 安装其他库

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md
我们是在github的Tensorflow官方网页上,根据提示安装,地址如上。
按步骤截图如下

在terminal中输入以下命令:

sudoapt-getinstallpython-pippython-dev1

4. 安装Bazel

4.1 安装Bazel依赖

由于本教程使用tensorflow源码编译/安装,所以需要使用 bazel build。
链接:https://www.bazel.io/versions/master/docs/install.html

在terminal中依次输入以下1-7的命令

4.2 安装Bazel

之后回到之前的Tensorflow安装教程页面:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md

点击链接:installer for your system,跳转到Bazel的下载页面:

下载bazel-0.3.2-installer-linux-x86_64.sh到桌面,然后在terminal中输入以下命令

cd/home/***(自己的用户名)/Desktop/###(这个命令意思是找到刚刚我们用U盘传过来的文件)chmod+xPATH_TO_INSTALL.SH#对.sh文件授权./PATH_TO_INSTALL.SH--user#运行.sh文件123

4.3 安装第三方库

在terminal中输入以下命令

sudoapt-getinstallpython-numpyswigpython-devpython-wheel#安装第三方库sudoapt-getinstallgit gitclonegit://github.com/numpy/numpy.gitnumpy123

5. 安装tensorflow

5.1 下载tensorflow

gitclonehttps://github.com/tensorflow/tensorflow1

特别注意,我使用的是tensorflow 0.11版本,该版本要求cuda 7.5 以上,cuDNN v5。
默认下载目录是在/home下

5.2 配置tensorflow

还是刚刚的网址
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md

在terminal中输入以下命令:

cd~/tensorflow#切换到tensorflow文件夹./configure#执行configure文件12

然后按照下图选项进行操作:

5.3 创建pip


在terminal中输入以下命令:

bazelbuild-copt//tensorflow/tools/pip_package:build_pip_packagebazelbuild-copt--config=cuda//tensorflow/tools/pip_package:build_pip_packagebazel-bin/tensorflow/tools/pip_package/build_pip_package/tmp/tensorflow_pkg sudopipinstall/home/***(你自己的用户名)/Desktop/tensorflow-0.10.0-cp2-none-any.whl1234

5.4 设置tensorflow环境

bazelbuild-copt//tensorflow/tools/pip_package:build_pip_package#TobuildwithGPUsupport:bazelbuild-copt--config=cuda//tensorflow/tools/pip_package:build_pip_package mkdir_python_buildcd_python_build ln-s../bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/*. ln-s../tensorflow/tools/pip_package/*. pythonsetup.pydevelop12345678

这样就大功告成啦~!!!

6. 测试tensorflow

这里进行测试,如果你能跟我看到同样的画面,那恭喜你成功配置GPU版的tensorflow啦!


跑这个例子,会出现很多提示,如果你在运行过程中发现自己的显卡型号,并提示成功调用cuda库,并每次step小于100ms,说明成功,否则就检查下哪里出现问题吧~
下面就尽情调戏tensorflow啦!
这里给出很有意思的教程链接:http://m.blog.csdn.net/article/details?hmsr=toutiao.io&id=52658965&utm_medium=toutiao.io&utm_source=toutiao.io
用tensorflow实现梵高作画。

7. 常见问题

7.1循环登录

在ubuntu14.04安装N卡驱动后,会出现无法显示登录界面或者循环登录的问题。这主要是显卡不兼容,具体解决思路可以参考google上的解决方案,关键词 ubuntu login loop。
经过测试,网上的教程对我都不适用,无奈转向ubuntu16.04

7.2 缺少第三方库

因为这个教程是我安装成功之后写的,其中难免遗忘某些库的安装,例如git、pip这些库,安装过程很简单,具体可以google。

7.3 tensorflow配置问题

在执行./configure 或者设置tensorflow环境时,如果出现无法找到某个库的路径,那么检查是否正确的设置了cuda的环境变量,具体参考 4.1节。

7.4 cuda8.0不支持gcc 5.3以上版本


这个问题可以通过对gcc降版本解决。相关连接http://m.blog.csdn.net/article/details?id=51999566

7.5 测试tensorflow时出现IOError

在测试tensorflow中,执行

pythonconvolutional.py1

出现 IOError错误,这是由于convolutional.py中需要从网上下载MNIST数据库。如果出现错误,那么重新执行python convolutional.py命令,或者手动从网站下载数据库并放在相应文件夹就好啦。

8. 经验与总结

  1. google是最好的老师!

  2. 感谢七月在线团队的无私帮助: qq群:472899334

  3. 失败是成功之母,经过这么多次尝试,以后的配置应该都不是问题啦

  4. 欢迎联系我的QQ: 3062984605

  5. 欢迎留言补充或讨论

9. 参考文献

[1]http://blog.csdn.net/u010789558/article/details/51867648
[2]http://textminingonline.com/dive-into-tensorflow-part-iii-gtx-1080-ubuntu16-04-cuda8-0-cudnn5-0-tensorflow
[3]http://m.blog.csdn.net/article/details?id=52658965
[4]https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md#installing-from-sources
[5]http://www.tensorfly.cn/tfdoc/get_started/os_setup.html
[6]http://ramhiser.com/2016/01/05/installing-tensorflow-on-an-aws-ec2-instance-with-gpu-support/
[7]http://blog.csdn.net/u012436149/article/details/52554176
[8]http://m.blog.csdn.net/article/details?id=51999566


利用pip安装方法 ##(版权归属: QQ 1395569872)

Ubuntu16.04从U盘安装纯净单系统

Ubuntu16.04安装NVIDIA显卡官方驱动
1.点桌面左上角搜索本机程序的图标,找到“附加驱动”
2.在“附加驱动”里,系统会自动搜索N卡驱动,列表里会提供对应你显卡的最新版官方驱动。例如我的显卡是GT730,选择第一项361.42就可以了。
3.最后点“应用更改”,等待安装完毕即可。

安装CUDA【Debian安装】
1、下载安装
进入下载文件所在目录,执行下列命令:

$sudodpkg--installcuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb $sudoapt-getupdate $sudoapt-getinstallcuda123

安装cuDNN
1、下载安装Cudnn v5.1(https://developer.nvidia.com/cudnn)
进入下载文件所在目录,执行下列命令:

$tarxvzfcudnn-8.0-linux-x64-v5.1.tgz$sudocpcuda/include/cudnn.h/usr/local/cuda/include$sudocpcuda/lib64/libcudnn*/usr/local/cuda/lib64123

退到根目录,运行下面语句:

$sudochmoda+r/usr/local/cuda/include/cudnn.h/usr/local/cuda/lib64/libcudnn*1

2、配置环境变量:
在terminal根目录中输入以下命令:

$sudogedit~/.bash_profile1

$source~/.bash_profile1

安装pip

$sudoapt-getinstallpython-pippython-dev$sudoapt-getinstallpython-numpyswigpython-devpython-wheel12

安装TensorFlow

#Ubuntu/Linux64-bit,GPUenabled,Python2.7#RequiresCUDAtoolkit8.0andCuDNNv5.Forotherversions,see"Installfromsources"below.$exportTF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0-cp27-none-linux_x86_64.whl $sudo-Hpipinstall--upgrade$TF_BINARY_URL

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。