• Tensorflow-gpu版本安装


    最近给公司部署一套深度学习相关的环境,以tensorflow为框架。简单整理下整个的部署过程。

    tensorflow官方网站:https://www.tensorflow.org

    服务器选型

    我们的tensorflow是基于gpu的版本,使用的是tensorflow-gpu 1.12.0版本。既然是gpu的版本,那么首先得需要一个带有gpu的服务器。我们这里直接使用阿里云服务器,型号如下:

    gpuserver

    NVIDIA GPU驱动安装

    那么既然有了带gpu的服务器,gpu驱动就必然是一个绕不开的话题。通过上面的选型我们可以知道,阿里云的购买页面明确给出了gpu的型号,我们需要去到gpu官方网站,根据型号选择驱动。

    通过如下页面查找相应的GPU驱动:
    https://www.nvidia.com/Download/index.aspx?lang=en-us
    NVIDIA

    下载的驱动名称示例:NVIDIA-Linux-x86_64-410.104.run

    安装的话相对比较简单:

    # 通过shell运行,然后按照提示操作即可
    sh NVIDIA-Linux-x86_64-410.104.run
    

    验证是否正常安装了:

    [root@ctnr ~]# nvidia-smi 
    Tue Mar 26 11:31:34 2019       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 410.104      Driver Version: 410.104      CUDA Version: 10.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla P4            Off  | 00000000:00:08.0 Off |                    0 |
    | N/A   28C    P8     7W /  75W |      0MiB /  7611MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
                                                                                   
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

    查看当前服务器显卡的个数:

    yum install -y lspci
    
    [root@ctnr ~]# lspci|grep -i nvidia
    00:08.0 3D controller: NVIDIA Corporation GP104GL [Tesla P4] (rev a1)
    

    其中00:08.0是显卡的代号,通过如下方式可以查看详细的显卡信息:

    [root@ctnr ~]# lspci -v -s 00:08.0
    00:08.0 3D controller: NVIDIA Corporation GP104GL [Tesla P4] (rev a1)
    	Subsystem: NVIDIA Corporation Device 11d8
    	Physical Slot: 8
    	Flags: bus master, fast devsel, latency 0, IRQ 39
    	Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
    	Memory at e0000000 (64-bit, prefetchable) [size=256M]
    	Memory at f2000000 (64-bit, prefetchable) [size=32M]
    	Capabilities: [60] Power Management version 3
    	Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
    	Capabilities: [78] Express Endpoint, MSI 00
    	Capabilities: [c8] Vendor Specific Information: Len=08 <?>
    	Kernel driver in use: nvidia
    	Kernel modules: nouveau, nvidia_drm, nvidia
    

    这里是tensorflow官方给出的gpu支持:https://www.tensorflow.org/install/gpu

    cuda和cudnn的安装

    tensorflow-gpu要想正常运行,除了必要的gpu驱动,还依赖cuda和cudnn两个sdk。

    下面是tensorflow-gpu版本依赖的cuda和cudnn的版本:

    https://www.tensorflow.org/install/source

    tensorflow-gpu

    cuda是深度学习的sdk
    cudnn是神经网络的sdk

    cuda安装

    cuda的下载地址:

    https://developer.nvidia.com/cuda-90-download-archive

    cuda

    需要下载cuda包,以及所有的补丁文件,我这里因为是centos,所以下载的全是rpm包。直接通过yum安装即可:

    yum localinstall -y cuda-repo-rhel7-9-0-*.rpm
    

    需要说明的是,这些包都只是本地仓库包,也就是说,安装了这些包,并不会真正安装cuda,而只是把cuda的包在本地生成了一个本地yum源。这个时候,就可以直接使用yum install -y cuda来安装cuda了。

    验证安装:

    [root@ctnr ~]# cat /usr/local/cuda/version.txt 
    CUDA Version 9.0.176
    

    cudnn的安装

    cudnn的下载地址:

    https://developer.nvidia.com/rdp/cudnn-download

    cudnn

    需要说明的是,要下载cudnn,需要先登录,这就要求我们得要有nvidia的帐号。

    这两个包也是rpm包,直接安装即可。

    安装完成后的验证方式如下:

    [root@ctnr ~]# cat /usr/include/cudnn_v7.h |grep CUDNN_MAJOR -A 2
    #define CUDNN_MAJOR 7
    #define CUDNN_MINOR 5
    #define CUDNN_PATCHLEVEL 0
    --
    #define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
    
    #include "driver_types.h"
    

    上面的三行,分别代表主版本、次版本以及修定版本

    在上图中,其实可以看到,除了定制的系统版本,cudnn也提供通用版本,即cnDNN Library for Linux,下载下来是一个tar.gz的文件,我们可以通过如下方式安装即可:

    tar xf cudnn-9.0-linux-x64-v7.5.0.56.tgz
    cp cuda/lib/64/libcudnn.so* /usr/local/cuda/lib64/
    cp cuda/lib64/libcudnn_static.a /usr/local/cuda/lib64/
    cp cuda/include/cudnn.h /usr/include/
    

    另外,还需要说明的是,我尝试在windows上直接下载通用版本的时候,下载的总是一个solitairetheme8为后缀的一个卡牌游戏。在linux上通过wget的方式下载,则是正常的压缩包。

    tensorflow-gpu安装

    以上配置都做好了以后,tensorflow-gpu的安装相对倒是比较简单。官方基于Bazel使用源码编译的安装方式可以直接参考这里:https://www.tensorflow.org/install/source#build_the_package

    我这里简化部署,直接使用pip安装:

    yum install -y python36 python36-pip
    
    pip3 install -U pip six numpy wheel mock
    pip3 install -U  keras_applications==1.0.5 --no-deps
    pip3 install -U keras_preprocessing==1.0.3 --no-deps
    
    pip3 install tensorflow-gpu-1.12.0
    

    至此,tensorflow安装完成。

  • 相关阅读:
    DB2高可用hadr搭建参数配置
    redis一主两从搭建
    hdu 1064 Financial Management(超级大水题)
    hdu 1009 FatMouse' Trade(贪心水题)
    文件选择性加密解密
    uva 10405 Longest Common Subsequence(最长公共子序列)
    UVa 111 History Grading (最长公共子序列)
    hdu 2550 百步穿杨(大水题)
    UVa 10066 The Twin Towers(LCS水题)
    ASP.NET学习参考站点
  • 原文地址:https://www.cnblogs.com/breezey/p/10599705.html
Copyright © 2020-2023  润新知