zoukankan      html  css  js  c++  java
  • ubuntu16.04下安装TensorFlow(GPU加速)----详细图文教程【转】

    本文转载自:https://blog.csdn.net/zhaoyu106/article/details/52793183

    le/details/52793183

    写在前面

    一些废话

    接触深度学习已经有一段时间,之前一直在windows下使用Theano,但是发现Theano天书般的源码真是头大,在看到tensorflow中文教程后,发现它竟然逻辑清晰,教程丰富,实在是居家旅行必备良药啊![偷笑][偷笑][偷笑]

    所以决定利用国庆假期学习ubuntu和TensorFlow的安装,结果入坑无数,同时搞坏了一块1T硬盘(花了450大洋啊,心在滴血…)。初步估算,整个安装过程耗时10.2-10.11,共10天(除去玩的几天,应该有1周时间在配置),安装windows 5+次,安装ubuntu 20+次,请叫我装机小能手。。。这主要原因是:我是小白,我的笔记本太奇葩,网上教程太混乱。

    为了减少以后各位的入坑时间,把更多的精力放在Deep Learning的学习上,也为了纪念我这么多天的辛苦,所以献上超级无敌吊炸天的终极TensorFlow安装教程!

    配置

    硬件: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

    然后在系统设置->软件更新->附加驱动->选择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

    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

    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 chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
    • 1
    • 2
    • 3
    • 4
    • 5

    4. 安装其他依赖

    4.1 配置环境变量

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

    sudo gedit ~/.bash_profile #打开.bash_profile
    • 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

    继续在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中输入以下命令:

    sudo apt-get install python-pip python-dev 
    • 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

    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

    5. 安装tensorflow

    5.1 下载tensorflow

    在terminal中输入以下命令

    git clone https://github.com/tensorflow/tensorflow
    • 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

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

    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

    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

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

    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

    出现 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

    安装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

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

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

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

    $ sudo gedit ~/.bash_profile
    • 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

    继续在terminal中输入:

    $ source ~/.bash_profile 
    • 1

    安装pip

    $ sudo apt-get install python-pip python-dev
    $ sudo apt-get install python-numpy swig python-dev python-wheel
    • 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
  • 相关阅读:
    扫描指定ip的端口(C#)
    C# 调用Delphi dll
    MuleSoft系列(五)-使用Anypoint Studio从RAML文件创建RESTful API接口
    MuleSoft系列(四)-用Anypoint Studio创建一个Mule应用程序
    MuleSoft系列(三)- 使用API设计器通过RAML定义API
    MuleSoft系列(二)- 使用Flow Designer创建Mule应用程序
    MuleSoft系列(一)
    Docusign系列(四)
    Docusign系列(三)
    Docusign系列(二)
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/9668235.html
Copyright © 2011-2022 走看看