TensorFlow分布式在Amazon AWS上运行

Amazon AWS 提供采用 NVIDIA K8 GPU 的 P2.x 机器。为了能够使用,第一步还需要创建一个 Amazon AWS 账户,如果还没有,可以使用链接https://portal.aws.amazon.com/billing/signup?nc2=h_ct redirect_url=https%3A%2F%2Faws.amazon.com%2Fregistration-confirmation#/start (https://portal.aws.amazon.com/billing/signup?nc2=h_ct%20redirect_url=https%3A%2F%2Faws.amazon.com%2Fregistration-confirmation#/start)来创建。登录账户后,控制台看起来如下图所示:

可以看到,Amazon AWS 提供了大量服务,但在这里关注的是使用 Amazon AWS 进行深度学习。



GPU 仅在 P2 实例构建时可用,并且在默认情况下不可用,为了获得该服务,需要通过 AWS support 来提高价格以增加资源,support 位于右上角,一旦进入 support,看到一个 Create case 按钮,点击该按钮,并做出以下选择:

可以选择任何提供 p2.xlarge 实例的区域。New limit value 决定了可使用实例的最大数量,请仔细选择该数字,因为该服务不是免费的,每小时大约花费 1 美元。AWS 大约会用 24 小时回复请求。

准备工作

现在已经拥有了 AWS 账户和
p2.xlarge 实例,就可以从 EC2 控制台创建自己的实例。第一步是选择 Machine Image(机器镜像),到目前为止,亚马逊提供预装深度学习库的特殊机器镜像,可以选择 Ubuntu 或 Linux 版本。接下来,选择 GPU 确定实例类型。

可以使用默认参数查看和启动(Review and Lanuch)实例,也可以配置设置,选择存储并配置安全组(security group)。配置安全组非常重要,默认情况下,SSH 安全组已经设置,但是如果要使用 Jupyter Notebook,则需要为端口 8888 添加自定义安全组,选择 source 以备登录实例,其中 source 有三个选项,分别为:Custom、Anywhere 和 My
IP。

最后,当启动实例的时候,会被要求创建一个密钥对(key pair),它允许登录到指定的实例。创建一个密钥对并下载相应的 .pem 文件,这将在稍后登录时使用。

具体做法

  1. 连接到实例,可以通过 ssh 命令或浏览器完成,使用 CLI(命令行界面)。
  2. 连接 .pem 文件的可变化模块:

使用下面的命令将 SSH 连接到实例,当要连接时,通过控制台能够看到准确地址:                                                                                                                                                                                             

  1. 选择的机器实例已经包含了包括 TensorFlow 在内的所有深度学习库,所以不需要安装任何东西:                                                                                                                                                                            
  2. 每个文件夹都包含一个介绍如何使用相应库的 readme 文件:

解读分析

可以运行刚才学习的已经创建的实例的相关代码。一旦工作结束,不要忘记退出,并从控制台上停止实例。有关价格和使用的更多细节请访问:https://aws.amazon.com/documentation/ec2/

拓展阅读

AWS 市场上有大量具备预配置库和 API 的 docker 镜像和机器镜像。要启动 jupyter notebook,请在命令行中使用 <jupyter notebook--ip=0.0.0.0--no-browser>,输出如下所示:

复制该网址到浏览器中即可开始使用。




此外,使用 AWS CloudFormation 可以简化整个流程。CloudFormation 通过模板创建和配置 Amazon Web Services
资源,能够简化建立分布式深度学习集群的过程,有兴趣的读者请参考:https://aws.amazon.com/blogs/compute/distributed-deep-learning-made-easy/

TensorFlow分布式在Amazon AWS上运行的更多相关文章

  1. 如何在 Amazon AWS 上设置一台 Linux 服务器

    摘要: AWS(Amazon Web Services)是全球领先的云服务器提供商之一.你可以使用 AWS 平台在一分钟内设置完服务器.在 AWS 上,你可以微调服务器的许多技术细节,如 CPU 数量 ...

  2. jmeter操作数据库,分布式,在Linux上运行

    jmeter操作数据库: 1.在测试计划中导入数据库jar包 2.添加链接数据库信息 3.mysql:jdc:mysql://192.168.1.116:3307/bugfree?allowMulti ...

  3. TensorFlow alexnet在华为Mate10上运行方法

    我使用的caffe模型:https://github.com/BVLC/caffe/tree/ea455eb29393ebe6de9f14e88bfce9eae74edf6d/models/bvlc_ ...

  4. AWS上的游戏服务:Lumberyard + Amazon GameLift + Twitch

    开发一款世界级的游戏是一个非常困难,耗时和昂贵的过程.如今的游戏玩家要求越来越苛刻,他们希望既能够通过各种不同的终端设备来进行游戏 ,又要求游戏具有社交的功能. 因为此类游戏的开发期和推广期都非常长. ...

  5. 在亚马逊amazon的AWS上安装Node和MongoDB服务器

    在亚马逊amazon的AWS上安装Node和MongoDB服务器 在建立AWS上账号.创建EC2 ,用putty链接上之后,就可以用下面的方法开始安装. !!! 如果不是是自己建立的EC2, 而是由B ...

  6. 在Amazon AWS RHEL 7上安装 配置PPTP VPN

    0 前言 0.1 为什么需要VPN? 国内的VPN不是必须,但是国外的VPN是很有用的.连接到国外的VPN服务器之后就可以访问Google,Facebook, Youtube等网站,没有Google的 ...

  7. 在AWS EMR上运行Map Reduce的Java示例程序 及 操作小计

    下面的代码中AffairClient类中包含了三个内之类,分别对应于Hadoop Mapreduce程序运行所需的Mapper类,Reducer类,和主类.AffairClient类中其余方法用于配置 ...

  8. 在 K8s 上运行 GraphScope

    本文将详细介绍:1) 如何基于 Kubernetes 集群部署 GraphScope ; 2) 背后的工作细节; 3) 如何在分布式环境中使用自己构建的 GraphScope 开发镜像. 上篇文章介绍 ...

  9. [转]Amazon AWS亚马逊云服务免费一年VPS主机成功申请和使用方法

    今天部落将再次为大家介绍如何成功申请到来自亚马逊的Amazon AWS免费一年的VPS主机服务.亚马逊公司这个就不用介绍了,是美国最大的一家网络电子商务公司,亚马逊弹性计算云Amazon EC2更是鼎 ...

随机推荐

  1. hdu4560 不错的建图,二分最大流

    题意: 我是歌手 Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Subm ...

  2. 从苏宁电器到卡巴斯基第11篇:我在苏宁电器当营业员 III

    积分换礼的是是非非 在苏宁购物是需要会员卡的(免费办理),我们需要利用这个会员卡来开单,顾客的消费可以换算成积分,贮存在会员卡里面.这个积分可以用于积分换礼,比如电磁炉.乐扣保鲜盒或者其它一些家用器具 ...

  3. Python小程序 -- 人民币小写转大写辅助工具

    大家应该都知道,银行打印账单有时候会跟上人民币的阿拉伯数字以及人民币汉字大写写法,转换的过程中有一定的逻辑难度,较为麻烦,所以笔者心血来潮,花了点时间简单实现了一下这一转换过程,以供初学者参考. 输入 ...

  4. POJ3114强连通+spfa

    题意:       给你n个点,m条有向边,q询问,每次询问给两个数a,b输出a->b的最短路,但是题目有个限制,就是在一个环上的任意两点距离为0. 思路:       简单题目,直接强连通压缩 ...

  5. 【vue-09】axios

    [vue-09]axios 文档:Axios中文文档 官网 为什么要使用axios 功能特点: 支持发送ajax异步 支持在NodeJs中发送ajax请求. 支持Promise 支持拦截器请求和响应 ...

  6. Nginx解决跨域问题(CORS)

    跨域 解决跨域问题一般有两种思路: CORS 在后端服务器设置 HTTP 响应头,把你需要运行访问的域名加入加入 Access-Control-Allow-Origin中. jsonp 把后端根据请求 ...

  7. php 解析富文本编辑器中的hmtl内容,富文本样式正确输出

    说明:富文本编辑器中的内容在直接获获取后需要解析以后才能在页面中正确显示 我在后端这样处理: $content = htmlspecialchars_decode($info['intro']); h ...

  8. CRM系统有哪几种常见类型?

    随着市场的快速变化,客户开始变得越来越重要,因此CRM客户管理系统开始逐渐被企业所认可.从CRM系统进入中国市场到现在十余年的发展中,越来越多的CRM厂商开始出现.为了满足不同行业.不同类型的企业的需 ...

  9. PostgreSQL条件表达式

      条件表达式在日常工作中很多场景都会用到,比如某个字段为空,取另外一个字段:某个值大于多少,取什么字段,小于多少取什么字段等等.那么下面来简单的学习下PostgreSQL有那些条件表达式. 1.CA ...

  10. Mybatis-spring-boot-starter自动配置的原理分析

    相信大家在使用SpringBoot的过程中,经常会使用到mybatis,通过使用mybatis-spring-boot-starter依赖进行自动配置,省去了自己依赖配置和Bean配置的很多麻烦. 有 ...