做深度学习,需要配置专门的GPU服务器吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了做深度学习,需要配置专门的GPU服务器吗?相关的知识,希望对你有一定的参考价值。

深度学习是需要配置专门的GPU服务器的:

深度学习的电脑配置要求:

1、数据存储要求

在一些深度学习案例中,数据存储会成为明显的瓶颈。做深度学习首先需要一个好的存储系统,将历史资料保存起来。

主要任务:历史数据存储,如:文字、图像、声音、视频、数据库等。

数据容量:提供足够高的存储能力。

读写带宽:多硬盘并行读写架构提高数据读写带宽。

接口:高带宽,同时延迟低。

传统解决方式:专门的存储服务器,借助万兆端口访问。

缺点:带宽不高,对深度学习的数据读取过程时间长(延迟大,两台机器之间数据交换),成本还巨高。

2、CPU要求

当你在GPU上跑深度网络时,CPU进行的计算很少,但是CPU仍然需要处理以下事情:

(1)数据从存储系统调入到内存的解压计算。

(2)GPU计算前的数据预处理。

(3)在代码中写入并读取变量,执行指令如函数调用,创建小批量数据,启动到GPU的数据传输。

(4)GPU多卡并行计算前,每个核负责一块卡的所需要的数据并行切分处理和控制。

(5)增值几个变量、评估几个布尔表达式、在GPU或在编程里面调用几个函数——所有这些会取决于CPU核的频率,此时唯有提升CPU频率。

传统解决方式:CPU规格很随意,核数和频率没有任何要求。

3、GPU要求

如果你正在构建或升级你的深度学习系统,你最关心的应该也是GPU。GPU正是深度学习应用的核心要素——计算性能提升上,收获巨大。

主要任务:承担深度学习的数据建模计算、运行复杂算法。

传统架构:提供1~8块GPU。

4、内存要求

至少要和你的GPU显存存大小相同的内存。当然你也能用更小的内存工作,但是,你或许需要一步步转移数据。总而言之,如果钱够而且需要做很多预处理,就不必在内存瓶颈上兜转,浪费时间。

主要任务:存放预处理的数据,待GPU读取处理,中间结果存放。

深度学习需要强大的电脑算力,因此对电脑的硬件配置自然是超高的,那么现在普通的高算力电脑需要高配置硬件。

参考技术A

深度学习是机器学习的分支,是一种以人工神经网络为架构,对数据进行表征学习的算法。深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理等多个领域都取得了卓越的成果,可见其重要性


熟悉深度学习的人都知道,深度学习是需要训练的,所谓的训练就是在成千上万个变量中寻找最佳值的计算。这需要通过不断的尝试识别,而最终获得的数值并非是人工确定的数字,而是一种常态的公式。通过这种像素级的学习,不断总结规律,计算机就可以实现像人一样思考。因而,更擅长并行计算和高带宽的GPU,则成了大家关注的重点。


很多人认为深度学习GPU服务器配置跟普通服务器有些不一样,就像很多人认为做设计的机器一定很贵一样。其实只要显卡或者CPU满足深度学习的应用程序就可以进行深度学习。由于现在CPU的核心数量和架构相对于深度学习来说效率会比GPU低很多,所以大部分深度学习的服务器都是通过高端显卡来运算的。

这里谈谈关于深度学习GPU服务器如何选择,深度学习服务器的一些选购原则和建议:

。。。。。。。。。。。。。

深度学习环境搭建anaconda+pycharm+pytorch


本文将详细介绍一下如何搭建深度学习所需要的实验环境.
这个框架分为以下六个模块

显卡

简单理解这个就是我们常说的GPU,显卡的功能是一个专门做矩阵运算的部件,用于显示方面的运算,现在神经网络中绝大操作都是对矩阵的运算,所以我们当然可以将显卡的矩阵运算功能应用起来,来提高计算速度.

驱动

通常指NVIDIA Driver,其实它就是一个驱动软件,而前面的显卡就是硬件

cuda

cuda是一个扩展包,能够使得使用GPU进行通用计算变得简单和优雅,它本质上是一套指令集,我们通过这个指令集来使用显卡的矩阵运算操作;

Q:如何查看显卡支持的cuda的最高版本?


anaconda

1. 下载安装

下载官网:https://www.anaconda.com/

选择与系统位数对应的安装包下载即可。

Anaconda占用空间较大,建议选择一个空闲的磁盘专门用来放Anaconda。

勾选添加环境变量

2. 安装pytorch虚拟环境

  1. 创建一个虚拟环境:conda create -n torch(虚拟环境名) python = 3.7


此步骤 若出现以下情况:

解决方法:
在创建新的虚拟环境前先输入以下命令。

conda config --add channels conda-forge
conda config --set channel_priority strict
conda config --set channel_priority flexible


这个路径下存放的就是我们创建好的虚拟环境,torch文件夹下存放的就是我们在该环境下安装的一些包等等。

  1. 激活并进入该环境:conda activate torch

激活环境前处于“大厅”位置(base),在激活torch环境后,我们可以看到已经进入了我们刚才新建的torch环境下(torch)。

  1. 查看该环境下装了哪些工具包:conda list

  1. 下载pytorch:conda activate torch

下载官网:https://pytorch.org/
进入pytorch官网选择对应的一些选项,在最后一行会生成与之相对应的代码行,复制到终端窗口执行即可。

该命令行表示从pytorch下载前面四个工具包。

Q:如何解决下载速度过慢的问题?

由于这些网站的服务器都在国外,我们下载的话速度会非常慢,为了解决这个问题,国内有些大佬做了镜像网站,一段时间会专门去更新一次,所以换到镜像网站下载速度会大大提升。

清华源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls true

中科大源:
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes

本次安装我们换清华源

换源后查看一下是否换源成功,channels表示下载通道,其中的网址都是清华源的网址,说明换源成功。

换掉原本的下载指令,去掉后面的 -c pytorch,表示从当前的清华源下载。

以下我们的pytorch虚拟环境以及一些工具包已经装好了。

  1. 退出当前虚拟环境,回到大厅:conda deactivate

  1. 查看当前anconda中都有哪些虚拟环境:conda info -e
  • 表示此时处于大厅位置。
  1. 在pytorch环境下编写测试代码

首先进入pytorch虚拟环境

输入命令行import torch,若出现以下标志,说明pytorch已经安装好。

3. conda常用指令

  • 创建一个虚拟环境
conda create -n torch[虚拟环境名]  python = 3.7
  • 激活并进入该环境
conda activate torch
  • 查看该环境下装了哪些工具包
conda list
  • 退出当前虚拟环境,回到大厅
conda deactivate
  • 查看当前anconda中都有哪些虚拟环境
conda info -e
  • 删掉该环境中的所有内容,并且销毁该环境
(base) conda remove -n torch --all

pycahrm / jupyter

下载安装

  1. 下载社区版的pycharm,修改安装路径为空闲磁盘。
  2. 没有什么需要特别注意的,直接下一步即可。

如何建好的虚拟环境的解释器找出来指派给代码?

我们可以创建多个虚拟环境,比如tensorflow,pytorch等,在用不同的框架时通过下面的设置切换到不同的虚拟环境即可。也有人会把所有的框架等装到一个虚拟环境中,当然理论上也是可以的,只是不方便管理,而且同一个虚拟环境下是不允许安装同一个工具的不同版本,这就非常不利于我们后续的学习。
具体操作如下:


pycharm中运行以下代码测试,若出现以下结果,说明环境搭建完成。
如果下图第二行显示为false,有可能是电脑显卡不支持cuda,只需删除该虚拟环境,重新下载cpu版本的pytorch即可。

import torch

print(torch.__version__)
print(torch.cuda.is_available())

x = torch.randn(1)
if torch.cuda.is_available():
    device = torch.device("cuda")
    y = torch.ones_like(x, device=device)
    x = x.to(device)
    z = x + y
    print(z)
    print(z.to("cpu", torch.double))

以上是关于做深度学习,需要配置专门的GPU服务器吗?的主要内容,如果未能解决你的问题,请参考以下文章

做深度学习的服务器需要哪些配置?

英伟达gpu需要ai训练参数平面吗

如何估计深度学习需要多少 GPU 内存?

深度学习图像处理场景应该用什么配置的云服务器?

通晓的回答下哪家GPU服务器更适合深度学习领域?

为什么深度学习和神经网络需要GPU?