zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    C# Array.CreateInstance创建二维数组及如何遍历二维数组
    Camstar开发常用数据库表及其关联
    Camstar开发C#代码规范、Camstar更新以及Designer 开发规范
    Andorid存储方式---读写文件
    Andorid存储方式----SharedPreferences存储
    InputStream类只能读取一次
    ssh文件上传问题
    关于html自定义属性
    我是程序猿,我爱做菜。
    第8章 Spring Web Flow
  • 原文地址:https://www.cnblogs.com/happystudyeveryday/p/11366062.html
Copyright © 2011-2022 走看看