如何用云服务器进行深度学习

2020-07-02 00:00:00 选择 服务器 安装 输入 即可

本文将从购买GPU服务器、远程连接服务器、深度学习环境安装、用jupyter操控服务器等方面逐一讲解购买及使用GPU服务器的步骤。

免费在线jupyter可见在线jupyter平台推荐。

1. 服务器配置与购买

云服务器供应商有很多,本文以阿里云为例,在百度云、腾讯云、谷歌云等其他供应商购买服务器的步骤大同小异。

进入阿里云官网。

阿里云官网

登录(支付宝、淘宝账户均可登录)并先预充一百元。

鼠标移动至右上角头像可见余额

在导航栏中选择“产品”-“云计算基础”-“GPU云服务器”

在云服务器界面选择“GN5(P100)购买”

接下来,我们便跳转到了阿里云服务器购买界面。默认情况下,系统为我们推荐“包年包月”的计费方式。每月上千的GPU租赁费用对大部分用户来说过于昂贵,而且我们只是偶尔会使用GPU计算服务,以月为单位租赁服务器有点浪费。

除了包年包月,我们还可以选择“按量付费”或者“抢占式实例”。按量付费是以小时为单位进行计费,计算完毕后需手动关闭服务器以停止计费。“抢占式实例”也是按小时计费,价格随市场波动,出价高的一批用户获得GPU服务器的使用权。

“抢占式实例”价格相对便宜,但当市场价格高于我们的出价时,我们的实例将会被释放,服务器将会被他人使用。不过使用“自动出价”可以让我们避免上述风险。

按量付费实例停机后不收费,抢占式网络虽然便宜,但必须释放实例实例后才会停止收费。

如果只是想体验一下,计费方式可选择“抢占式实例”。地域选择“华北5(呼和浩特)”会有优惠,价格大约在五到七块每小时(价格会随时间有些许波动)。读者若想以后长期间断使用服务器,一定要选“按量付费”,根据配置不同价格在八到十三块每小时。(实际费用以秒为单位进行计算)

服务器规格选择“ecs.gn5-c8g1.2xlarge”,该规格有8个vCPU,60G内存,一块P100 GPU,440G存储空间(暂时存储),Intel Xeon E5-2682v4 CPU。配置足以满足绝大部分任务的需求了。

接着,设置镜像。

镜像推荐一:如下图进行配置。CentOS/Ubuntu16.04系统都支持“自动安装GPU驱动”(新手推荐使用Ubuntu16.04,遇到的坑会少一点),可免去之后安装GPU驱动的步骤。(若是使用Tensorflow,仍需要手动安装cuDNN)

Tensorflow-GPU的底层支持一直在变。当前(2019年3月20号)Tensorflow-gpu版本要求CUDA版本要9.0(目前不支持9.1!)且Driver要384.x或更高版本。读者若是几年后看到该文章,请先查询tensorflow-gpu的GPU驱动版本要求。安装驱动版本不符无法运行tensorflow-gpu

安装GPU驱动一定要符合tensorflow-gpu的驱动要求

镜像推荐二:读者也可以选择使用“镜像市场”中的镜像。如下图中的镜像,已经预装了GPU驱动和tensorflow等框架。纯小白建议选择这个方法,此处就免去了文本第三步环境安装的过程

存储选择默认设置。本地存储440G空间会随着我们的实例释放后消除。一般我们的代码都放在系统盘,40G的系统盘满足大部分AI比赛或项目的存储需求。若有额外需求,读者可适当增加数据盘。这里保持默认不更改。

不更改存储设置

完成上述配置后,点击“下一步:网络和安全组”该界面,我们不做任何更改

值得注意的是“公网带宽”中的带宽大小是指流量留流出的带宽大小,计费0.8元/G也是计算流量留出的费用。我们使用服务器下载文件属于流量流入,与该“公网带宽”选择无关,且服务器下载文件免费

安全组默认也保持不变。确保22端口打开即可,我们之后会通过ssh的方式连接服务器。

点击“下一步:系统配置”。了解密钥的读者可在“登录凭证”选择“密钥对”的方式。不了解密钥的读者可选“自定义密码”(记住该密码,当我们登录服务器时,登录名为root,密码为此处设置的密码)。

完成后点击“确认订单”。确认界面如下:

“保存为启动模板”可选可不选。保存模板后,当我们再次购买类似服务器时,可以使用模板中的服务器配置。(按量计费时,我们想停止计费,只需关停服务器,不用删除服务器。以后想用服务器,再次启动即可,无需再次配置并购买服务器。)

另外,我们也可以设置自动释放的时间(谨慎操作,到达释放时间后,实例会被释放,数据及IP不会被保留)若读者对自己的使用时间没有把握,不建议设置“使用时限”。

点击同意《云服务器 ECS 服务条款》服务协议。

之后我们即可点击右下角的“创建实例”了。创建实例之后即开始计费,直到我们手动停止服务为止。



另外,当不用服务器的时候,一定记得要停止服务!

若使用按量计费,选择“停止”即可(下图绿色框),想用时选择“启动”即可。若使用抢占式实例,则需要选择“释放设置”了(下图红色框),因为抢占式实例停止服务器后仍旧计费。下次使用时需要重新配置服务器,包括各类环境。

2. 服务器连接

在控制台中我们可以看到我们正在运行的云服务器。记住我们服务器的公网IP地址

这里笔者使用Xshell来连接远程服务器。打开Xshell,在菜单栏里选择“文件”-“新建”

名称随意设置,“主机”为你购买的服务器的公网IP地址,协议SSH,端口22。

完成上述内容后,点击确定即可。创建成功后,在界面左侧双击我们刚刚创建的“阿里云服务器”以连接服务器。

次登陆会有一个SSH安全警告,选择“接收并保存”即可。

之后便是用户登录,默认的用户名为root

登录方式则与之前“登录凭证”相对应。密码登录或者密钥登录。

接着,我们便成功以ssh的方式远程连接了阿里云服务器。

3. 环境安装

刚购买的云服务器只有简单的一些配置。我们需要在此基础上安装一些深度学习需要的环境。

3.1 安装GPU驱动、CUDA以及cuDNN

安装GPU驱动、CUDA、cuDNN全是坑,不同环境下出现的问题千奇百怪,此处难以一一举出。读者若安装时出现问题请直接百度/google,网上必有解决方法(虽然可能也不靠谱)。

Ubuntu出现的坑较少,此处以Ubuntu为例。

3.1.1 安装GPU驱动

在步配置服务器时若选择“自动安装GPU驱动”则可跳过这一步。

在英伟达驱动下载页面设置自己的配置,之后点击“SEARCH”

接着进入信息确认界面,点击“DOWNLOAD”

再之后,在如下界面,右键“AGREE&DOWNLOAD”,复制链接地址。

返回服务器命令行,输入wget 地址

本案例是 wget us.download.nvidia.com/

下载完后,执行如下代码以安装驱动

sudo chmod  a+x NVIDIA-Linux-x86_64-384.183.run
sudo ./NVIDIA-Linux-x86_64-384.183.run -no-x-check -no-nouveau-check -no-opengl-files

相关文章