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

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

服务器选型

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

NVIDIA GPU驱动安装

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

通过如下页面查找相应的GPU驱动:

https://www.nvidia.com/Download/index.aspx?lang=en-us

下载的驱动名称示例: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

cuda是深度学习的sdk

cudnn是神经网络的sdk

cuda安装

cuda的下载地址:

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

需要下载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,需要先登录,这就要求我们得要有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安装完成。

Tensorflow-gpu版本安装的更多相关文章

  1. tensorflow 一些好的blog链接和tensorflow gpu版本安装

    pading :SAME,VALID 区别  http://blog.csdn.net/mao_xiao_feng/article/details/53444333 tensorflow实现的各种算法 ...

  2. tensorflow GPU版本安装及配置

    经检测速度大幅度上升,不枉费我折腾了这么久,最坑的就是网上教程.书都没有写将cuda的bin加入全局变量,还是根据报错信息推出来的. 1.cuda9.0下载安装 https://developer.n ...

  3. Python3.7+Pycharm+cuda10.0+tensorflow GPU版本 安装

    处理器:I5-7500 显卡   :GTX1050Ti 系统   :Win10 1. 首先搭建Python环境. 官网https://www.python.org/downloads/下载Python ...

  4. 【转】Ubuntu 16.04安装配置TensorFlow GPU版本

    之前摸爬滚打总是各种坑,今天参考这篇文章终于解决了,甚是鸡冻\(≧▽≦)/,电脑不知道怎么的,安装不了16.04,就安装15.10再升级到16.04 requirements: Ubuntu 16.0 ...

  5. win10系统下安装TensorFlow GPU版本

    首先要说,官网上的指南是最好的指南. https://www.tensorflow.org/install/install_windows 需要FQ看. 想要安装gpu版本的TensorFlow.我们 ...

  6. 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)

    一. 安装环境 Ubuntu16.04.3 LST GPU: GeForce GTX1070 Python: 3.5 CUDA Toolkit 8.0 GA1 (Sept 2016) cuDNN v6 ...

  7. Win10上安装Keras 和 TensorFlow(GPU版本)

    一. 安装环境 Windows 10 64bit  家庭版 GPU: GeForce GTX1070 Python: 3.5 CUDA: CUDA Toolkit 8.0 GA1 (Sept 2016 ...

  8. 说说Windows7 64bits下安装TensorFlow GPU版本会遇到的一些坑

    不多说,直接上干货! 再写博文,回顾在Windows7上安装TensorFlow-GPU的一路坑 Windows7上安装TensorFlow的GPU版本后记 欢迎大家,加入我的微信公众号:大数据躺过的 ...

  9. Windows7 64bits下安装TensorFlow GPU版本(图文详解)

    不多说,直接上干货! Installing TensorFlow on Windows的官网 https://www.tensorflow.org/install/install_windows 首先 ...

  10. Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解

    随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...

随机推荐

  1. "Linux内核分析"第六周实验报告

    张文俊 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1.进程的描述 ...

  2. 读<架构漫谈>系列有感

    读了这一系列博文,我对架构也有了大致的了解.在简单的阅读之后,我解决了几个问题. 第一个问题,什么是架构? 要学习架构,首先要知道架构.那么,什么是架构呢?引用<架构漫谈(一)>里的话就是 ...

  3. 简话h5唤起本地app

    在没接触这个功能之前,查询各种文档后也只是似懂非懂,做过之后,发现其实很简单,简言之就是通过一个iframe或者a标签来跳转app端提供的URL schema(至于这个URL schema的组成格式, ...

  4. 软件工程(GZSD2015)学生博客列表

    2015年贵州师范大学软件工程课程学生博客列表 陈小丽 郑倩 唐洁 周娟 李利思 肖俊 罗文豪 周静 徐明艳 毛涛 邓洪虹 岳庆 李盼 安坤 何亚 涂江凤 张义平 杨明颢 杨家堂 胡贵玲 寿克霞 吴明 ...

  5. octave基本指令4

    octave基本指令4 图形化显示数据 >> t=[0:0.01:0.98]; >> y1 = sin(2*pi*4*t); %pi表示π >> plot(t,y1 ...

  6. ubuntu编译安装php7遇到的问题及解决方案

    configure: error: Cannot find OpenSSL's <evp.h> 这个可以在configure的时候,指定openssl的路径,查看openssl的安装路径: ...

  7. PAT 甲级 1017 Queueing at Bank

    https://pintia.cn/problem-sets/994805342720868352/problems/994805491530579968 Suppose a bank has K w ...

  8. 利用ss-redir加速服务器上国外服务的访问

    https://blog.microdog.me/2016/06/28/Speed-Up-Network-Accessing-To-Overseas-Services-On-Your-Server/

  9. MSTSC 3389 端口修改

    1. 启动注册表编辑器. 2. 找到并单击以下注册表子项: 3. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server ...

  10. [转帖]紫光展锐5G芯片

    紫光展锐5G芯片已流片:7nm工艺 2019年问世   https://news.mydrivers.com/1/612/612346.htm 本文转载自超能网,其他媒体转载需经超能网同意 高通骁龙X ...