云服务器deeplearning_云服务器深度学习服务器环境搭建

前几天在腾讯云服务器上搭建深度学习的环境,查阅了腾讯云的官方文档及相关博客,一是发现介绍的不太全,二是大都是本地工作站上的部署教程。经过多种尝试和血泪的踩坑,暂总结出一份文档,方便将来重新部署时的查阅及参考。

各模块介绍

什么是CUDA?CUDA (Compute Unified Device Architecture) is a computing platform launched by graphics card manufacturer NVIDIA. CUDA ™ is a universal parallel computing architecture introduced by NVIDIA, which enables GPUs to solve complex computing problems. It contains the CUDA instruction set architecture (ISA) and the parallel computing engine inside the GPU. Developers can now use C to write programs for the CUDA ™ architecture

CUDA (ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

什么是cuDNN?The NVIDIA CUDA® Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for deep neural networks. cuDNN provides highly tuned implementations for standard routines such as forward and backward convolution, pooling, normalization, and activation layers.

Deep learning researchers and framework developers worldwide rely on cuDNN for high-performance GPU acceleration. It allows them to focus on training neural networks and developing software applications rather than spending time on low-level GPU performance tuning. cuDNN accelerates widely used deep learning frameworks, including Caffe,Caffe2, Chainer, Keras,MATLAB, MxNet, TensorFlow, and PyTorch. For access to NVIDIA optimized deep learning framework containers, that has cuDNN integrated into the frameworks, visit NVIDIA GPU CLOUD to learn more and get started.

NVIDIA cuDNN (The NVIDIA CUDA® Deep Neural Network library)是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,Tensorflow、Caffe等。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。

CUDA与CUDNN的关系

CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN。

在安装cuDNN时,只需要把cuDNN文件复制到CUDA的对应文件夹里就可以,即是所谓插入式设计,把cuDNN数据库添加CUDA里,cuDNN是CUDA的扩展计算库,不会对CUDA造成其他影响。

配置GPU相关应用

安装Nvidia驱动

安装Nvidia驱动总体来讲有两种主流方式,一是通过源来进行安装,另一种是在官网下载.run安然文件进行安装。

注:通过源安装后进行重启如果无法加载,或者通过.run安装时编译报错,可尝试通过升级Linux内核来解决。

1

2apt update

apt install dkms build-essential linux-headers-generic

1)通过源安装驱动

首先查看符合自己机器的Nvidia驱动,在官网 http://www.nvidia.com/Download/index.aspx 进行查询,如我的显卡是Tesla V100,则对应的配置:

3455e9bff746f15b1854948940b306b3.png

点击 Search,可以看到查询结果如下所示:

Version:

418.87

Release Date:

2019.8.14

Operating System:

Linux 64-bit

CUDA Toolkit:

10.1

Language:

English (US)

File Size:

103.47 MB

卸载之前的Nvidia驱动

1sudo apt purge nvidia*

添加一个 PPA 源,命令如下:

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

更新源:

1sudo apt-get update

安装Nvidia显卡驱动:

1sudo apt-get install nvidia-418

注意这里的418就是刚才根据我的机器型号查询出来的版本,以你实际查询出来的版本为准。

2)通过官网下载安装文件进行驱动安装

首先,禁用 nouveau驱动。

打开文件:

1sudo vim /etc/modprobe.d/blacklist.conf

在末尾添加:

1blacklist nouveau

更新设置:

1sudo update-initramfs -u

重启系统:

1reboot

使用 lsmod 命令查看是否禁用成功

1lsmod | grep nouveau

若没有输出内容,则是禁用成功.

从官网下载驱动到本地,接着:

卸载旧驱动

1sudo apt purge nvidia*

进入到NVIDIA驱动所在目录,安装驱动

1

2#安装驱动

sudo sh NVIDIA-Linux-x86_64-410.66.run

3)检查驱动安装情况

查看Nvidia驱动版本:

1sudo dpkg --list | grep nvidia-

大致会显示:

1

2

3ii nvidia-418 418.56-0ubuntu0~gpu16.04.1 amd64 NVIDIA binary driver - version 418.56

ii nvidia-opencl-icd-418 418.56-0ubuntu0~gpu16.04.1 amd64 NVIDIA OpenCL ICD

ii nvidia-settings 418.56-0ubuntu0~gpu16.04.1 amd64 Tool for configuring the NVIDIA graphics driver

安装完毕后,查看显卡状态信息:

1

2

3nvidia-smi

# 若上面的命令不可以,则尝试重启查看结果

sudo reboot

5efaafb84b7650398981faccdded13ce.png

安装CUDA 10.0进入 CUDA Toolkit官方链接,根据自己的机器配置,选择相应安装包

8365ac30b1492963b5fba6457ae519e7.png

根据上图中的提示,输入命令安装即可:

1

2#不同CUDA版本命令不同,请注意!

sudo sh cuda_10.1.243_418.87.00_linux.run

安装过程需要输入一些确认选项,过程如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15Do you accept the previously read EULA? # accept 接受

accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81? # 选否

(y)es/(n)o/(q)uit: n

Install the CUDA 10.1 Toolkit? #yes

(y)es/(n)o/(q)uit: y

Enter Toolkit Location # 默认

[ default is /usr/local/cuda-10.1 ]:

Do you want to install a symbolic link at /usr/local/cuda? # yes

(y)es/(n)o/(q)uit: y

Install the CUDA 10.1 Samples? # 可装可不装(可以先选yes,然后用不到了再删除)

(y)es/(n)o/(q)uit: y

Enter CUDA Samples Location

[ default is /home/ubuntu ]:

Installing the CUDA Toolkit in /usr/local/cuda-10.1 ...

安装成功后,添加环境变量

1vim ~/.bashrc

在打开的文件中末尾添加:

1

2

3

4#CUDA

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

export CUDA_HOME=/usr/local/cuda

保存并关闭文件,终端输入

1

2#使环境生效

source ~/.bashrc

使用 nvcc -V命令查看是否配置成功,成功后会显示如下信息:

e7e60cd19dfb35473941cd7bf9f7220a.png

安装cuDNN

cuDNN 的全称是 The NVIDIA CUDA® Deep Neural Network library,是专门用来对深度学习加速的库,能够对TensorFlow、PyTorch及Theano等深度学习框架进行加速优化。

cuDNN有两种方式进行安装,本文暂介绍压缩包的形式进行安装。

8a965dcdbd4666cc3142778f2237e654.png

解压进行安装:

1

2

3

4

5tar -zxvf cudnn-9.0-linux-x64-v7.1.tgz

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d

sudo chmod a+r /usr/local/cuda/include/cudnn.h

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

查看安装的结果

1cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2

执行完如上命令之后,cuDNN 就安装好了,这时我们可以发现在 /usr/local/cuda/include 目录下就多了 cudnn.h 头文件。

安装Python 3.6.x

安装TensorFlow安装TensorFlow:

1pip install tensorflow-gpu==1.14

验证TensorFlow是否安装成功

1

2

3

4

5# 输出Hello, TensorFlow! 则代表安装成功。

>>>import tensorflow as tf

>>>hello = tf.constant('Hello, TensorFlow!')

>>>sess = tf.Session()

>>>print(sess.run(hello))

安装过程中出现的Error

在安装过程中出现的问题大多都是

Linux内核版本与CUDA版本不匹配

Tensorflow_gpu与CUDA及cuDNN版本不匹配的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值