做深度学习,需要配置专门的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虚拟环境
- 创建一个虚拟环境: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文件夹下存放的就是我们在该环境下安装的一些包等等。
- 激活并进入该环境:conda activate torch
激活环境前处于“大厅”位置(base),在激活torch环境后,我们可以看到已经进入了我们刚才新建的torch环境下(torch)。
- 查看该环境下装了哪些工具包:conda list
- 下载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虚拟环境以及一些工具包已经装好了。
- 退出当前虚拟环境,回到大厅:conda deactivate
- 查看当前anconda中都有哪些虚拟环境:conda info -e
- 表示此时处于大厅位置。
- 在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
下载安装
- 下载社区版的pycharm,修改安装路径为空闲磁盘。
- 没有什么需要特别注意的,直接下一步即可。
如何建好的虚拟环境的解释器找出来指派给代码?
我们可以创建多个虚拟环境,比如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服务器吗?的主要内容,如果未能解决你的问题,请参考以下文章