Ubuntu 18.04 64位安装tensorflow-gpu

第一步(可直接跳到第二步):安装nvidia显卡驱动

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

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

然后更新源:

1
sudo apt-get update 

然后去navidia官网查看最新的驱动版本号:navidia官网:http://www.geforce.cn/drivers
比如说驱动的最新版本号为396,则执行如下指令:

1
sudo apt-get install nvidia-396

最后安装openGL支持:

1
sudo apt-get install mesa-common-dev 

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

如果直接执行:$ sudo apt-get install -y cuda  会报错。正确使用方法为。
官方网站下载:CUDA Toolkit 10.0。下载网址为:https://developer.nvidia.com/cuda-downloads
linux,86_64,Ubuntu,18.04,deb[local]
然后执行如下指令:
1
2
3
$ sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
$ sudo apt-get update 
$ sudo apt-get install cuda
这时出现如下错误:

使用的是Ubuntu 18.04 LTS 64位,安装cuda10.0,采用本地deb包安装方式,这是安装的环境的主要信息。

对于该问题,搜索到的多是将Ubuntu中的一些有问题的更新或者源去掉来解决的,但是对于这个问题无效。而且Google上很少有这个问题的搜索结果,折腾了一两个小时后才找到一个方案,就是使用aptitude。这个比apt处理依赖问题要更加智能,采用该方案安装cuda如下:

如果没有aptitude则需要先安装aptitude: sudo apt-get install aptitude

然后进行安装cuda:

冲突写了两三屏幕,然后给出了解决方案:

选择接受,等待

终于完成了,尝试了下nvidia-smi

 

如果nvidia-smi失败,则试着重启,应该就OK了。

这时在/usr/local目录下产生一个cuda安装的路径叫"cuda-10.0",并添加cuda到环境变量:

 

1
sudo vim /etc/profile 
添加内容:
1
2
3
export CUDA_HOME=/usr/local/cuda-10.0 
export PATH=$CUDA_HOME/bin:$PATH   
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
使环境变量生效
1
source /etc/profile
检验是否安装成功:查看GPU运行的进程
1
$ nvidia-smi  <a style="font-size: 2em; background-color: #ffffff; font-family: 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, sans-serif;" name="t3"></a>

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

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

否则执行如下指令:
1
2
3
4
5
6
7
8
9
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库

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

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

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

指令如下:

1
2
3
4
sudo tar xvzf cudnn-10.0-linux-x64-v7.4.2.24.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.0/include 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64 
sudo chmod a+r /usr/local/cuda-10.0/include/cudnn.h /usr/local/cuda-10.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

1
bash Anaconda2-4.3.1-Linux-x86_64.sh

Anaconda仓库镜像

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

1
2
$ 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版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
(可以略掉)$ 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版本,输入如下命令查询安装命令

1
2
3
4
5
6
7
8
9
10
11
12
(可以略掉)$ 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

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

1
2
3
4
5
6
7
8
9
10
11
12
$ conda install --channel https://conda.anaconda.org/jjh_cio_testing tensorflow-gpu==1.3.0
 
Fetching 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,输入

1
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库

1
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 install tensorflow_gpu-1.0.1-cp27-none-linux_x86_64.whl 

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

参考文献:https://www.cnblogs.com/chamie/p/8876271.html

原文地址:https://www.cnblogs.com/happystudyeveryday/p/11366062.html