在AWS上配置深度学习主机

转载 2018年02月03日 11:02:18

介绍

Amazon EC2 P2 实例

p2.xlarge 是一种非常适合深度学习的云服务器,它配备了 12G 显存的 Tesla K80 显卡,4核 CPU,60G 内存,以及 500M 的网速。如果你还嫌不够,可以选择它的8倍和16倍的版本。

注册账号

首先我们需要注册一个 aws 账号,从刚才的地址可以注册,需要 visa 或 mastercard 信用卡。

注册好了以后,我们需要申请 p2.xlarge 的权限,因为默认限制0台。(注意,提供 p2 的地区并不多,我所知道的两个地区是北弗吉尼亚和俄勒冈。)

填写工单

请求提高限制

不然就会出现可恶的 Instance Count Limit Exceeded 。

开启实例

选择 AMI

EC2 控制面板

首先点击启动实例,然后这里我们记得选择我做的 MLND-DL 这个 AMI,因为预装了Anaconda, Python2/3, Tensorflow GPU, Keras, OpenCV, Jupyter Notebook,比较省折腾。(只有北弗吉尼亚有这个AMI,其他地区可以参考李沐提供的Deep Learning AMI,也可以自己搭一个 AMI)

选择一个实例类型

这里选 p2.xlarge 就好,开启以后一分钟和59分钟都算一个小时,所以开了以后可以放心大胆折腾一个小时,坏了也不用怕,删掉再开一个就好。注意:如果你选择的是 8x 或者 16x,你需要自己实现多 GPU 的代码,不然 Keras 只会使用一个 GPU 来训练。

后面三步直接下一步就好。

配置安全组

入站和出站记得配置成任所有流量和任意位置,不然到时候 ssh 不上去,或者开 jupyter notebook 连不上去。懂的人可以自行配置,不懂就直接写所有流量就好了,反正有 key 才能连上去。

配置密钥对

如果你有自己常用的私钥和公钥,可以从密钥对这里导入,否则你可以生成一个新的密钥,然后下载密钥对。

连接

在连接以前,它需要进行一段时间初始化(大概五分钟),所以你可以先等待一会。等它显示已通过的时候,你就可以用 ssh 连接它了。下面是我连接的命令:

ssh -i Downloads/test.pem ubuntu@52.91.231.174

其中的 key 你需要改为你自己的路径,IP 地址也要改为你自己买的服务器的 IP 地址。如果它提示你是否要确定连接,你要确定:

Are you sure you want to continue connecting (yes/no)? yes

如果提示下面的信息:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'Downloads/test.pem' are too open.

你需要将你的 key 的权限改为只有你可以访问,然后再进行连接:

chmod 700 Downloads/test.pem

开始写代码

你可以通过下面的命令开启一个支持远程连接的 jupyter notebook:

jupyter notebook --ip=0.0.0.0

然后你用浏览器进入你的服务器 IP:8888 就可以连上服务器,点击右上角新建 notebook 并编写 python 代码了。

如果你想断开 ssh 连接以后还可以在后台运行 notebook,你可以加screen这个命令:

screen jupyter notebook --ip=0.0.0.0

这个 screen 命令同样适用于其他命令。

停止

当你不使用实例的时候,记得停止它。停止以后,不会计费。

事实上由于我是新用户,所以会有一年免费 EBS 试用,一年以后的收费可以参照这里:aws.amazon.com/cn/ebs/p,一个月 30G 的 SSD 收费是3美元,因此你可以自行权衡数据和价格,若是一个月以后还要用这些数据,而你愿意出3美元保持这些数据,避免一个月以后麻烦,那么你可以不必终止该实例。当你长期不打算使用该实例时,请务必终止该实例。

竞价实例

竞价实例是一种特殊的实例,它可以以超低的价格提供配置一样的实例,和普通实例的差别在于不可停止,因此当你想跑比较大的网络的时候(训练时间大于1小时),用竞价实例会非常划算。0.9美元每小时的 p2.xlarge 在竞价实例一个月的历史记录里很少超过0.3美元。即使超过了,我们也不会出高于0.9美元的价格。


上图是这两天的账单,我用了40小时,才花了5.33美元,平均一小时0.13美元,但是这并不代表之后还是保持这个价格。


我一般是这样开竞价实例的,为什么选请求并维护呢?因为你在实际使用的过程中一定不希望跑着跑着机子被停掉,因此我们采取的是请求并维护这种模式,如果价格上涨,我们补上就好了,最高肯定不会超过0.9美元的。

创建自己的映像(AMI)

当你想创建竞价实例的时候,你可能并不想重新配置一遍环境,这时候你可以创建自己的映像,然后在创建竞价实例的时候使用该映像,这样创建的竞价实例可以完好无损地迁移之前的驱动,环境,以及数据和代码。

创建映像

选择映像(AMI)

实际体验

训练时 nvidia-smi 的输出。

如果要监控可以使用下面的命令,一秒刷新一次:

watch -n 1 nvidia-smi


将二十多万张图片载入内存时 htop 的输出。

speedtest 的结果。

文章转自:知乎 zhuanlan.zhihu.com/p/25066187

使用aws配置机器学习主机

首先在aws官网注册一个帐号https://aws.amazon.com/cn/,注册过程就不描述了,其中有一个填写信用卡的页面使用默认的”基本“那一项就行了,因为看其他选项都不合适。还有就是会填写手...
  • k7arm
  • k7arm
  • 2017年05月17日 19:03
  • 751

在AWS上配置深度学习主机

介绍 Amazon EC2 P2 实例 p2.xlarge 是一种非常适合深度学习的云服务器,它配备了 12G 显存的 Tesla K80 显卡,4核 CPU,60G 内存,以及 500M 的网速...
  • shitsnail
  • shitsnail
  • 2017年12月28日 15:35
  • 208

亚马逊AWS:正确设置FTP

第一,建立在亚马逊的AWS管理控制台窗口的实例。我们需要改变一些设置: 1.在AWS上,从左边的菜单选择“安全组”。 2.选择您刚才创建的安全组的名称 3.在屏幕底部的窗口中选择“入站规则”选项...
  • michael1112
  • michael1112
  • 2016年09月14日 15:31
  • 1430

AWS下深度学习服务器的MAC上的配置和使用

前端在AWS的平台上选择AMI的步骤我觉得这篇知乎文章已经写得很好了:https://zhuanlan.zhihu.com/p/25066187。 这里是就自己个人的一些细节操作进行补充: ...
  • Lyrassongs
  • Lyrassongs
  • 2017年04月08日 22:24
  • 1454

如何配置一台深度学习主机?

作为一个深度学习的初学者,你可能会遇到这样的问题:“我该如何训练我自己或者别人的Model?”“我该如何配置一台合适的主机?”“目前有哪几种训练模型的方式?” 接下来,我将会对此进行详细的介绍,...
  • WZZ18191171661
  • WZZ18191171661
  • 2017年04月11日 18:57
  • 5565

AWS云服务器跑深度学习

1,AWS注册过程省略。 2,按照TensorFlow官网搭建virtualenv 不知为何找不到apt-get这里用yumsudo yum install python-pip python-d...
  • fk1174
  • fk1174
  • 2017年05月19日 11:29
  • 1130

在Amazon EC2 Linux主机上保障SSH安全

曾经在初创企业当中工作过的朋友一定很清楚,建立客户信任是业务发展当中的关键性一步。时至今日,用户对于技术及安全性的理解越来越深入,他们希望供应商能够为数据提供严格保护,同时确保服务坚实可靠。除此之外,...
  • u012365585
  • u012365585
  • 2015年08月28日 18:29
  • 5054

xshel连接AWS VPS时所选秘钥未在主机主机注册

如果使用SSH通过xshel登录远程VPS主机时,报所选用户密钥未在远程主机上注册,请再试一次, 检查是否是用户名填写错误。 如果是ubuntu系统,请填写,ubuntu centos,请填写 ...
  • Caidifel
  • Caidifel
  • 2017年09月25日 16:58
  • 386

记在AWS EC2上安装配置Apache遇到的问题

好不容易用上了AWS(Amazon Web Services),立马开了EC2(Amazon Elastic Compute Cloud)。免费用一年,好东西。 第一件事就是装了个SS,科学上网你懂的...
  • qq121023
  • qq121023
  • 2016年01月23日 01:19
  • 1613

使用亚马逊AWS云服务器进行深度学习——免环境配置/GPU支持/Keras/TensorFlow/OpenCV

吐槽:由于科研任务,需要在云端运行一个基于神经网络的目标识别库,需要用到GPU加速。亚马逊有很多自带GPU的机器,但是环境的配置可折腾坏了,尤其是opencv,每次总会出各种各样的问题! 无奈中,看...
  • qqxx6661
  • qqxx6661
  • 2017年12月15日 03:17
  • 359
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在AWS上配置深度学习主机
举报原因:
原因补充:

(最多只允许输入30个字)