ubuntu16.04下安装TensorFlow(GPU加速)

配置

硬件:Thunderbot 911笔记本,CPU:i7,GPU :GeForce GTX 960m, 8G内存,120G SSD+1T 机械硬盘。 
软件: 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输入以下指令:

sudo apt-get update
 
 
  • 1
  • 1

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

3. cuda 8.0

3.1 安装cuda

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

cd  /home/***(自己的用户名)/Desktop/###(这个命令意思是找到刚刚我们用U盘传过来的文件)
sudo dpkg -i cuda-repo-ubuntu1604-8-0-rc_8.0.27-1_amd64​.deb
sudo apt-get update
sudo apt-get install cuda​
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

3.2 gcc降版本

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

sudo apt-get install g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3. 安装cuDNN

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

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

4. 安装其他依赖

4.1 配置环境变量

这里写图片描述
按照上图的教程,在terminal中输入以下命令:

sudo gedit ~/.bash_profile #打开.bash_profile
 
 
  • 1
  • 1

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

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
 
 
  • 1
  • 2
  • 1
  • 2

继续在terminal中输入:

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

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

4.2 安装其他库

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md 
我们是在github的Tensorflow官方网页上,根据提示安装,地址如上。 
按步骤截图如下 
这里写图片描述
在terminal中输入以下命令:

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

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 +x PATH_TO_INSTALL.SH #对.sh文件授权
./PATH_TO_INSTALL.SH --user #运行.sh文件
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

4.3 安装第三方库

在terminal中输入以下命令

sudo apt-get install python-numpy swig python-dev python-wheel #安装第三方库
sudo apt-get install git
git clone git://github.com/numpy/numpy.git numpy 
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

5. 安装tensorflow

5.1 下载tensorflow

在terminal中输入以下命令

git clone https://github.com/tensorflow/tensorflow
 
 
  • 1
  • 1

特别注意,我使用的是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文件
 
 
  • 1
  • 2
  • 1
  • 2

然后按照下图选项进行操作: 
这里写图片描述

5.3 创建pip

这里写图片描述
在terminal中输入以下命令:

bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
sudo pip install /home/***(你自己的用户名)/Desktop/tensorflow-0.10.0-cp2-none-any.whl
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

5.4 设置tensorflow环境

这里写图片描述

bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
 # To build with GPU support:
bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
mkdir _python_build
cd _python_build
ln -s ../bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/* .
ln -s ../tensorflow/tools/pip_package/* .
python setup.py develop
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

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中,执行

python convolutional.py
 
 
  • 1
  • 1

出现 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、下载安装 
进入下载文件所在目录,执行下列命令:

$ sudo dpkg --install cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

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

$ tar xvzf cudnn-8.0-linux-x64-v5.1.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

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

$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
 
 
  • 1
  • 1

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

$ sudo gedit ~/.bash_profile
 
 
  • 1
  • 1

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

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
 
 
  • 1
  • 2
  • 1
  • 2

继续在terminal中输入:

$ source ~/.bash_profile 
 
 
  • 1
  • 1

安装pip

$ sudo apt-get install python-pip python-dev
$ sudo apt-get install python-numpy swig python-dev python-wheel
 
 
  • 1
  • 2
  • 1
  • 2

安装TensorFlow

# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7
# Requires CUDA toolkit 8.0 and CuDNN v5. For other versions, see "Install from sources" below.

$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0-cp27-none-linux_x86_64.whl

$ sudo -H pip install --upgrade $TF_BINARY_URL

本文讲述Ubuntu14.04下使用GTX070 GPU加速的goolge深度学习开源库Tensorflow环境的配置。。。 
使用的是Anaconda Python 3.5 
我们一切从简,只介绍一种最简单的pip安装方法。 
注意:本文仅适用于单显卡,64位Ubuntu 14.04,不是的话请绕道


首先验证

终端输入命令:lspci | grep VGA 
这里写图片描述 
可以看到仅显示了一条信息,好的,没问题。 
如果你那里有两条,换其他方法吧。。。 
终端输入命令:uname -m && cat /etc/*release 
这里写图片描述 
看第一行:x86_64 
证明你的Ubuntu是64位,好的,没问题。 
如果你那里不是,换其他方法吧。。。

安装NVIDIA显卡驱动

下载英伟达显卡驱动http://www.nvidia.cn/Download/index.aspx?lang=cn 
这里写图片描述 
进去以后点击DOWLOAD下载就好了,下载完记得把它放到一个英文目录下,因为接下来我们的操作都在tty1下,你用中文路径是进不去的。比如我们放在~/download下。 
按组合键”Ctrl+Alt+F1“进去tty1 
我知道有人肯定会跟我似的进入这个就黑屏了,好吧,就用下边这个方法试试,有用的: 
这里写图片描述 
用gedit编辑即可。

关闭显示管理器

输入命令sudo stop lightdm,关闭显示器管理器。否则后面旧的显卡驱动无法禁用,新的显卡驱动无法安装。

禁用旧的显卡驱动

首先切换到管理员账户:sudo su 
切换到/etc/modprobe.d/,新建文件nvidia-installer-disable-nouveau.conf,输入: 
blacklist nouveau options nouveau modeset=0 
在文件/etc/default/grub的最后,添加一行,如下所示; 
blacklist nouveau

安装新的驱动 
切换到驱动所在路径:cd ~/download 
sudo sh NVIDIA-Linux-x86_64-367.57.run 
过程中有一系列选项,就这么选就行:Accept → Continue → installation → OK → OK → OK 
有人说安装完会自动重启,然而我并没有! 
这个时候可以打开显示器管理器:sudo start lightdm 
打开终端,输入:cat /proc/driver/nvidia/version 
出现如下图所示,证明你成功了: 
这里写图片描述

安装CUDA 
安装依赖库: 
sudo apt-get install freeglut3-dev 
sudo apt-get install build-essential 
sudo apt-get install libx11-dev 
sudo apt-get install libxmu-dev 
sudo apt-get install libxi-dev 
sudo apt-get install libglu1-mesa 
sudo apt-get install libglu1-mesa-dev

切换到root,安装CUDA:./cuda_8.0.44_linux 
注意注意再注意,下边那个Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?一定是n!!!!!!!!!!!!!!!

安装过程如选择如下: 
Do you accept the previously read EULA? 
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62? 
(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

Enter CUDA Samples Location 
[ default is /home/zhou ]:

Installing the CUDA Toolkit in /usr/local/cuda-8.0 … 
Missing recommended library: libGLU.so 
Missing recommended library: libX11.so 
Missing recommended library: libXi.so 
Missing recommended library: libXmu.so

Installing the CUDA Samples in /home/zhou … 
Copying samples to /home/zhou/NVIDIA_CUDA-8.0_Samples now… 
Finished copying samples.

===========

= Summary =

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

Please make sure that 
- PATH includes /usr/local/cuda-8.0/bin 
- LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.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-8.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.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 361.00 is required for CUDA 8.0 functionality to work. 
To install the driver using this installer, run the following command, replacing with the name of this run file: 
sudo .run -silent -driver

Logfile is /tmp/cuda_install_2961.log 
安装完毕后,设置一下环境变量,将下边两行写入到 ~/.bashrc 的尾部:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 
  
  
  • 1
  • 2
  • 1
  • 2

好了,测试一下: 
终端输入:nvidia-smi 
这里写图片描述 
终端输入:nvcc –version 
这里写图片描述 
验证NVCC:

#切换到cuda-samples所在目录
#注意,换成自己的路径
cd ~/NVIDIA_CUDA-8.0_Samples
#编译 make (安装命令 sudo apt-get install cmake)
make
#编译完毕,切换release目录
cd bin/x86_64/linux/release
#检验是否成功
#运行实例 ./deviceQuery
./deviceQuery
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

出现这个图,你就成功了! 
这里写图片描述

安装CUDNN

下载地址:https://developer.nvidia.com/cudnn 
这个用邮箱注册一下,然后下载一个压缩包就行了。 
解压:tar -zxvf cudnn-8.0-linux-x64-v5.1-ga.tgz 
然后执行如下命令,复制一下,修改一下权限: 
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*

这样就OK了!!!

安装Tensorflow

下载:https://github.com/tensorflow/tensorflow 
翻到这个页面的最下边,下载下图这个 Linux GPU:Python 3.5(build history): 
这里写图片描述 
开启GPU加速:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
  
  
  • 1
  • 2
  • 1
  • 2

安装刚刚下载的那个whl文件: 
sudo pip install –upgrade tensorflow-0.11.0rc1-cp35-cp35m-linux_x86_64.whl

好了,就这么愉快地装完了……

OpenCV 3.10安装

忘了加这个了,做视觉怎能没有OpenCV。。不过好像对Python和ubuntu的支持度不高啊。。。 
好了,anaconda一条命令安装opencv 3.1 
this one: 
conda install –channel https://conda.anaconda.org/menpo opencv3

测试一波

终端下进入:cd anaconda3/lib/python3.5/site-packages/tensorflow/models/image/mnist 
运行: python convolutional.py 
这里写图片描述 
这里写图片描述 
好了,就这样子,可以愉快地飞起来了……

参考了几个不错的教程如下: 
http://www.itdadao.com/articles/c15a473847p0.html 
http://www.2cto.com/os/201607/528798.html 
http://www.itnose.net/detail/6332726.html 
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.m



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值