Skip to content

在AWS上配置深度学习主机

在AWS上配置深度学习主机

介绍

Amazon EC2 P2实例

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

2018年更新:p3.2xlarge是一种非常适合深度学习的云服务器,它配备了16G显存的Tesla V100显卡,8核CPU,60G内存,以及最高10Gbps的网速。如果你还嫌不够,可以选择它的4倍和8倍的版本

注册账号

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

注册好了以后,我们需要申请p3.2xlarge的权限,因为aws默认最高允许只开0台机器。

填写工单

请求提高限制

这里如果你想用p2,那么请申请p2。如果你想用p3,那么请选择p3。如果你想用竞价实例,请在下面的Use Case Description里面注明spot instance。

如果没有写工单申请提高上限,直接开机器,就会出现Instance Count Limit Exceeded。

开启实例

选择AMI

EC2控制面板

首先点击启动实例,然后这里记得选择Deep Learning AMI,因为预装了NVIDIA驱动,Python,TensorFlow,Keras等环境,比较省折腾。当然,如果你想自己配环境,不需要这么多环境,也可以选择Deep Learning Base AMI,我经常选这个AMI作为基础,搭建我的环境。

选择一个实例类型

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

2018年更新:现在已经精确到小数点后两三位了,大概是按分钟甚至是按秒计价。

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

配置安全组

入站和出站记得配置成任所有流量和任意位置,不然到时候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

如果提示下面的信息:

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

chmod 700 Downloads/test.pem

开始写代码

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

jupyter notebook–ip=0.0.0.0

注意这里的命令需要写–ip=0.0.0.0,它代表监听任意IP。

然后你需要用浏览器,输入你的服务器IP:8888(一定要输入你自己买的服务器的IP地址而不是0.0.0.0,比如:https://52.91.231.174:8888)就可以连上服务器,点击右上角新建notebook并编写python代码了。

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

screen-S jupyter

jupyter notebook–ip=0.0.0.0

进入screen以后,任何命令都不受ssh断开的影响。-S后面的jupyter只是个名字,你可以使用你喜欢的任何名字。

断开以后恢复的方法:

screen-r jupyter

停止

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

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

竞价实例

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

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

创建自己的映像(AMI)

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

创建映像

选择映像(AMI)

实际体验

训练时nvidia-smi的输出。

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

watch-n 1 nvidia-smi

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

speedtest的结果。

相关推荐: 美国“炼狱”模式开启!亚马逊美西仓库订单延迟、关闭配送、取消买家订单

【市场资讯】 全球新冠肺炎累计超600万,美国成“重灾区”达1734040例 近日,根据世界卫生组织公布的数据显示,全球新冠确诊病例累计超600万例。其中,美国累计确诊病例最多,达1734040例。美国也是死亡病例最多的国家,达102640例。 数据显示,美国…

    码刀科技(www.lekshop.cn)是国内知名企业级电商平台提供商,为企业级商家提供最佳的电商平台搭建(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售/跨境等)、平台管理系统开发及互联网采购解决方案服务, 联系客服了解更多.

    电子商务网站建设的重要性和好处