ubuntu14.04_64位安装tensorflow-gpu

linux用户可以通过官方ppa解决安装GPU驱动的问题。使用如下命令添加Graphic Drivers PPA:

sudo add-apt-repository ppa:graphics-drivers/ppa  

然后更新源:

sudo apt-get update  

然后去navidia官网查看最新的驱动版本号:navidia官网:http://www.geforce.cn/drivers

比如说驱动的最新版本号为396,则执行如下指令:

sudo apt-get install nvidia-396 

最后安装openGL支持:

sudo apt-get install mesa-common-dev  

第二步:安装cuda-8.0(中间会默认安装显卡驱动)

如果直接执行:$ sudo apt-get install -y cuda 会报错。正确使用方法为。

官方网站下载:CUDA Toolkit 8.0。下载网址为:https://developer.nvidia.com/cuda-downloads

linux,86_64,Ubuntu,14.04,deb[local]

然后执行如下指令:

$ sudo dpkg -i cuda-repo-ubuntu1404-8-0-local-ga2_8.0.61-1_amd64.deb  
$ sudo apt-get update  
$ sudo apt-get install cuda 
这时在/usr/local目录下产生一个cuda安装的路径叫"cuda-8.0"添加cuda到环境变量:
sudo vim /etc/profile  
添加内容:
export CUDA_HOME=/usr/local/cuda-8.0  
export PATH=$CUDA_HOME/bin:$PATH    
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH 

使环境变量生效

source /etc/profile

检验是否安装成功:查看GPU运行的进程

参考测试网址:http://blog.csdn.net/masa_fish/article/details/51882183

$ nvidia-smi  

第三步:降低gcc版本到5.0以下

查看gcc当前使用版本:

$ gcc --help
$ gcc --version #查看gcc版本号
最后一行为 <file:///usr/share/doc/gcc-4.8/README.Bugs>. 使用的ubuntu14.04使用的是4.8版本 所以不用降低gcc版本

否则执行如下指令:

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++  

第四步:下载 cuDNN V5+ 库文件并添加到cuda-8.0库

网址为:https://developer.nvidia.com/cudnn

解压并将内容copy到/usr/local/cuda-8.0/include和lib64目录中:

cudann-8.0是目前为止比较稳定的版本在更新tensorflow后(1.4.1- 指令: pip install --upgrade tensorflow-gpu 即可更新tensorflow)

在官网下载对应版本的*.tgz文件。

指令如下:

sudo tar xvzf cudnn-8.0-linux-x64-v5.1.tgz  
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include  
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64  
sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*   #分配包的权限  

第五步:安装tensorflow

(1)Anaconda安装tensorflow

下载:Anaconda2-4.3.1-Linux-x86_64.sh(https://repo.continuum.io/archive/)参考网址:https://www.cnblogs.com/willnote/p/6746499.html

bash Anaconda2-4.3.1-Linux-x86_64.sh

Anaconda仓库镜像

官方下载更新工具包的速度很慢,所以继续添加清华大学 TUNA提供的Anaconda仓库镜像,在终端或cmd中输入如下命令进行添加

$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
$ conda config --set show_channel_urls yes

备注:如果出现conda命令未找到,查看:https://www.cnblogs.com/chamie/p/10009193.html

Tensorflow安装

在终端或cmd中输入以下命令搜索当前可用的tensorflow版本

(可以略掉)$ anaconda search -t conda tensorflow

Using Anaconda API: https://api.anaconda.org
Run 'anaconda show <USER/PACKAGE>' to get more details:
Packages:
     Name                      |  Version | Package Types   | Platforms      
     ------------------------- |   ------ | --------------- | ---------------
     HCC/tensorflow            |    1.0.0 | conda           | linux-64       
     HCC/tensorflow-cpucompat  |    1.0.0 | conda           | linux-64       
     HCC/tensorflow-fma        |    1.0.0 | conda           | linux-64       
     SentientPrime/tensorflow  |    0.6.0 | conda           | osx-64         
                                          : TensorFlow helps the tensors flow
     acellera/tensorflow-cuda  |   0.12.1 | conda           | linux-64       
     anaconda/tensorflow       |    1.0.1 | conda           | linux-64       
     anaconda/tensorflow-gpu   |    1.0.1 | conda           | linux-64       
     conda-forge/tensorflow    |    1.0.0 | conda           | linux-64, win-64, osx-64
                                          : TensorFlow helps the tensors flow
     creditx/tensorflow        |    0.9.0 | conda           | linux-64       
                                          : TensorFlow helps the tensors flow
     derickl/tensorflow        |   0.12.1 | conda           | osx-64         
     dhirschfeld/tensorflow    | 0.12.0rc0 | conda           | win-64         
     dseuss/tensorflow         |          | conda           | osx-64         
     guyanhua/tensorflow       |    1.0.0 | conda           | linux-64       
     ijstokes/tensorflow       | 2017.03.03.1349 | conda, ipynb    | linux-64       
     jjh_cio_testing/tensorflow |    1.0.1 | conda           | linux-64       
     jjh_cio_testing/tensorflow-gpu |    1.0.1 | conda           | linux-64       
     jjh_ppc64le/tensorflow    |    1.0.1 | conda           | linux-ppc64le  
     jjh_ppc64le/tensorflow-gpu |    1.0.1 | conda           | linux-ppc64le  
     jjhelmus/tensorflow       | 0.12.0rc0 | conda, pypi     | linux-64, osx-64
                                          : TensorFlow helps the tensors flow
     jjhelmus/tensorflow-gpu   |    1.0.1 | conda           | linux-64       
     kevin-keraudren/tensorflow |    0.9.0 | conda           | linux-64       
     lcls-rhel7/tensorflow     |   0.12.1 | conda           | linux-64       
     marta-sd/tensorflow       |    1.0.1 | conda           | linux-64       
                                          : TensorFlow helps the tensors flow
     memex/tensorflow          |    0.5.0 | conda           | linux-64, osx-64
                                          : TensorFlow helps the tensors flow
     mhworth/tensorflow        |    0.7.1 | conda           | osx-64         
                                          : TensorFlow helps the tensors flow
     miovision/tensorflow      | 0.10.0.gpu | conda           | linux-64, osx-64
     msarahan/tensorflow       | 1.0.0rc2 | conda           | linux-64       
     mutirri/tensorflow        | 0.10.0rc0 | conda           | linux-64       
     mwojcikowski/tensorflow   |    1.0.1 | conda           | linux-64       
     rdonnelly/tensorflow      |    0.9.0 | conda           | linux-64       
     rdonnellyr/r-tensorflow   |    0.4.0 | conda           | osx-64         
     test_org_002/tensorflow   | 0.10.0rc0 | conda           |                
Found 32 packages

选择一个较新的CPU或GPU版本,如jjh_cio_testing/tensorflow-gpu的1.0.1版本,输入如下命令查询安装命令

(可以略掉)$ anaconda show jjh_cio_testing/tensorflow-gpu

Using Anaconda API: https://api.anaconda.org
Name:    tensorflow-gpu
Summary: 
Access:  public
Package Types:  conda
Versions:
   + 1.0.1

To install this package with conda run:
     conda install --channel https://conda.anaconda.org/jjh_cio_testing tensorflow-gpu

使用最后一行的提示命令进行安装

$ conda install --channel https://conda.anaconda.org/jjh_cio_testing tensorflow-gpu==1.3.0Fetching package metadata .............
Solving package specifications: .

Package plan for installation in environment /home/will/anaconda2:

The following packages will be SUPERSEDED by a higher-priority channel:

    tensorflow-gpu: 1.0.1-py27_4 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free --> 1.0.1-py27_4 jjh_cio_testing

Proceed ([y]/n)? 

conda会自动检测安装此版本的Tensorflow所依赖的库,如果你的Anaconda缺少这些依赖库,会提示你安装。因为我之前已经安装过了,所以这里只提示我安装Tensorflow。输入y并回车之后等待安装结束即可

  • 可以选择次高版本的Tensorflow安装,因为最新版本可能清华 TUNA的仓库镜像库没有及时更新,而官方更新连接总是失败,我最开始选择了jjhelmus/tensorflow-gpu的1.0.1版本,其他依赖 库清华 TUNA的仓库镜像有资源,而到最后jjhelmus/tensorflow-gpu版本的Tensorflow安装包总是下载不下来,尝试20多次之后 换了一个1.0.0的版本,终于顺利安装成功

进入python,输入

import tensorflow as tf 

如果没有报错说明安装成功。

(2)PIP安装tensorflow

安装完CUDA 8 和 cuDNN 5后, 在终端输入 sudo apt-get install libcupti-dev(参考:https://www.cnblogs.com/zengcv/p/6564517.html)

Ubuntu14.04默认安装的Python2.7.6

先安装Python库

sudo apt-get install python-pip python-dev 

安装tensorflow:

(1)在线安装

sudo pip install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.0.1-cp27-none-linux_x86_64.whl

   (2)下载安装(由于Ubuntu系统下,网上比较慢,可以在windows下载。推荐这种安装方法)

sudo pip installtensorflow_gpu-1.0.1-cp27-none-linux_x86_64.whl

    (下载地址:https://pypi.org/project/tensorflow-gpu/1.0.1/#files)