亚马逊AWS官方博客

Amazon Aurora Update – PostgreSQL 兼容性

就在两年前 (恍如昨日),我在我发布的帖文 Amazon Aurora – New Cost-Effective MySQL-Compatible Database Engine for Amazon RDS 中向大家推荐了 Amazon Aurora。在那个帖文中,我告诉大家 RDS 团队如何以全新、不受限的观点来看待关系数据库模型,并解释了他们如何为云端构建关系数据库。 自那之后,我们收到了一些来自客户的反馈,非常感人。客户非常喜欢 MySQL 兼容性,重视高可用性和内置加密。他们对以下事实充满期待:Aurora 围绕具有容错能力和自我修复能力的存储而构建,使他们能够从 10 GB 一直扩展到 64 TB,而无需预先配置。他们知道,Aurora 跨三个可用区创建了其数据的六个副本,并在不影响性能或可用性的情况下将数据备份到了 Amazon Simple Storage Service (S3)。随着他们不断扩展,他们知道自己可以至多创建 15 个低延迟只读副本,这些副本从公用存储中获取。要了解有关我们的客户如何在全球范围的生产环境中使用 Aurora 的详细信息,请花一些时间阅读我们的 Amazon Aurora 客户评价。 当然,客户永远在追求更多,而我们也将竭尽全力了解他们的需求并尽力满足。下面是对我们根据客户的具体反馈所做的一些近期更新的回顾: 10 月 – 从存储过程中调用 Lambda 函数。 10 月 – 从 S3 中加载数据。 9 月 […]

Read More

Amazon Lightsail – 兼具 AWS 的强大功能与 VPS 的简易性

有的人喜欢用零件组装复杂系统 (房屋、计算机或者家具)。他们喜欢规划流程,认真研究每个零件,然后挑选那些能够按照他们的期望平衡强大功能与灵活性的零件。通过这样的规划,他们享受着将零件组装完工的过程。而有些人并不觉得这种自助 (DIY) 的方式有吸引力或者具有价值,他们只对尽快获得结果感兴趣,并不想在此过程中做出太多决策。 是不是听起来很熟悉? 我认为这种模式同样也适用于系统架构和系统构建。有时候您想要花时间去亲手挑选每个 AWS 组件 (服务器、存储、IP 地址等等),然后自己组装起来。但有的时候,您只是需要一个预先配置且预先组装的系统,您希望这个系统已准备就绪,可以让您运行自己的 Web 应用程序,而不必自己费力去构建系统。 在很多情况下,那些寻求预组装系统的人会求助于虚拟私有服务器 (或 VPS)。VPS 会为您呈现一些选项,每个选项都已准备就绪可运行,您通过支付可预测的每月费用便可使用。 VPS 是一个完美的入门工具,但随着时间的推移,其使用环境就会逐渐受限。从某种意义上来说,随着您的需求增长,您可能需要跨出现有计划的边界,但却发现您毫无选择,无法完成渐进式改进,因而就面临着需要作出颠覆性改变的境况。或者,您可能会发现自己可用于自动扩展或故障转移的选择有限,而且您需要自己来完成所有设置。 隆重推出 Amazon Lightsail 目前,我们正在推出 Amazon Lightsail。只需几次点击,您就可以从菜单中选择一种配置,并启动一个预配置了基于 SSD 的存储、DNS 管理和静态 IP 地址的虚拟机。您可以启动自己最喜欢的操作系统 (Amazon Linux AMI 或 Ubuntu)、开发人员堆栈 (LAMP、LEMP、MEAN 或 Node.js) 或应用程序 (Drupal、Joomla、Redmine 和 GitLab 等),而定价计划当中每月支付的固定费率自 5 美元起,还包括普遍支持的数据传输。 下面是相关计划和配置: 您将获得 VPS 的简便性,并有 AWS 的强大功能、可靠性和安全性作为后盾。随着您的需求增长,您将能够顺利跨出初始边界,连接额外的 AWS 数据库、消息发送和内容分配服务。 最重要的是,Lightsail 是您开始使用 AWS […]

Read More

实力省钱,总有一款适合您

众所周知,Amazon EC2 有多种经过优化的实例种类及付费模式供选择。那么每一类实例的价格优势在哪里?计费有什么不同?哪一种计费模式在满足业务需求的同时更节省成本呢?今天我们就来八卦一下 按需实例 这是AWS最基本最朴实的经典款,计费模式简单明了,用多少付多少。价格公道,童叟无欺。 预留实例 地地道道的“经济适用型”,只选对的,不选贵的! 不差钱儿,钱也要花的漂亮不是~ 相比较按需实例,预留实例有两个明显的优势:1.预留容量 2. 价格折扣,最高可节省 75%。 你可以把它理解为包年模式的按需实例,有1年期或3年期。 付款方式有三种:No Upfront、Partial Upfront、All Upfront No upfront: 不需要任何预付款,按月支付,每小时的价格低于按需的费率30%左右 Partial Upfront:下单的时候先付一部分费用,剩下的费用分摊12个月里,每月支付 All Upfront:一次付完一年的费用,每月无需再付 竞价实例 除了以上两种实例,今天给您介绍的是另一款比预留实例更优惠的实例类型,绝对有竞争力!与按需实例的价格相比,这类实例最多可以为您节省 90% 的成本呢。它就是竞价实例!听这名字,立刻就能想到竟拍,恩,想象力不错,是这么回事儿,价高者得!咦,说好的省钱呢?价高者得?我四不四傻?……囧一个……听我细细道来哈,真相是酱式儿滴… 啥是竞价实例? 首先聊聊啥是竞价实例。想象一下,Amazon有个很大的池子,把闲置的资源以远远低于按需实例的价格投入市场(请注意,竞价实例的价格是不固定的,Amazon EC2根据市场的供求关系定价,每小时价格随着市场供需变化波动)。由于定价较低,大家都抢着买,给谁用不给谁用呢。游戏规则就出来了:竞价!所以它的名字由此而生。 竞拍价格游戏规则 卖方:Amazon EC2根据市场供需定价(请注意,价格像波浪一样随时变化) 买方:出价(您愿意为实例出多少钱您自己定,但请求一旦提交,出价不能更改) 计费规则: 如果您的出价高于现价,您的竞价型实例就会运行。所谓价“高”者“得”,您以高于其他竞争者的出价获得启动实例的机会,但实际不一定是以您出的价格收费,而是按照低于或等于您出价的当时的市场价格计费。很划算吧?当然啦,为了保护所有买方免于产生额外费用,竞价型实例的出价限制为按需价格的十倍。 由于这种实例的特点是根据需求的变化,每小时价格都在波动。因此当您使用竞价型实例时,您必须做好应对中断的准备(建议您不要为不能中断的应用程序使用竞价型实例)。 当现货价格上涨超过了您的出价或闲置的EC2实例供应减少时, Amazon 将终止您的竞价实例收回资源。在实例终止时,Amazon EC2会提前两分钟发出警告通知您。 如果您需要保证在一定的时间内使用这个实例,您可以选择创建带有指定持续时间的竞价型实例。当市场价格发生更改时,您的这些实例不会终止。不过这样一来,每小时的价格会比竞价实例的每小时价格要高。 竞价型实例运行方式及生命旅程 要想使用竞价实例,您需要创建一个竞价型实例请求,其中包括您需要的实例类型、实例数量、可用区以及您的出价。(请注意:提交请求之后,您无法更改竞价请求的参数,包括出价),同时选择请求类型,一次性或持久性?如果是持久性请求,竞价型实例终止之后会重新打开请求,再次加入下一轮竞价。 举个栗子,小编打算在俄勒冈区域的某个可用区购买一个m4.large的竞价实例 辣嚒,首先小编需要从 Amazon EC2 控制台或describe-spot-price-history 命令 (AWS CLI)查看近期的现货价格历史记录(最多可查看近三个月的现货价格历史记录)。小编查看了最近一周这个实例的市场价格,以帮助小编举牌。知己知彼,百战不殆嘛! 从上图可以看出,最近一周的价格波动区间是$0.1478/小时-$0.163/小时, 也可以选择在一天的范围内查看)。思来想去,小编决定最高出价$0.155/小时,好,准备举牌了! […]

Read More

如何在1个小时之内轻松构建一个Serverless 实时数据分析平台

数据分析平台,特别是实时数据分析,正在被越来越广泛的应用于各个行业。 举例来说,游戏公司在发布新游戏之后,需要实时定位用户的留存、增长等情况;快销公司需要精确地记录每一笔订单的情详情,并结合社交媒体,实时分析促销活动引起的用户购买行为与销量等等。基于这些需求, AWS提供了一整套成熟的解决方案与服务,并且得到了广泛的应用。 图1 AWS大数据参考架构示例 上图中,Amazon Kinesis 是实时的流式分析服务,而Amazon S3是AWS的海量数据存储服务。利用Kinesis与S3,我们可以十分方便的构建一个实时流式信息数据的采集与存储。 值得注意的是,作为Serverless计算服务的代表 , 用户只需要编写实现对应的ETL逻辑,Amazon Lambda就可以非常方便地对Kinesis流式数据进行抽取与分析而不需要部署任何服务器。另外,用户也可以使用Kinesis Firehose(Kinsis服务之一)实现原始数据的直接注入与收集。 随着Amazon Athena在AWS re:Invent 2016的重磅发布,AWS的大数据平台又增添了重要的一员!Amazon Athena 是一种交互式查询服务,用户可以使用标准SQL 分析 Amazon S3 中的数据。因为Athena底层是基于Serverless(无服务器)架构,用户不需要运维底层的服务器,并且查询处理能力会随着用户的数据将进行自适应与扩展,实现秒级别的数据查询与处理。 闲话少说,我们将利用AWS提供的三个重要服务——Amazon Kinesis Firehose,、Lambda和Athena在1个小时之内实现一套实时分析的Serverless数据分析平台! 准备好了吗?Let’s rock 1.数据源。作为测试,我们将对AWS VPC Flow Logs进行分析。您可以使用Kinesis Agent/Flume/Fluentd或者Amazon Kinesis SDK对前端的实时日志进行分析。Amazon VPC Flow Logs将实时记录VPC监控的网络端口的流量与通信日志,并将日志发布于AWS CloudWatch Logs。详细的配置请参见 https://aws.amazon.com/cn/blogs/aws/vpc-flow-logs-log-and-view-network-traffic-flows/ 2.数据ETL。VPC Flow Logs进入CloudWatch Logs之后,可以利用Lambda对实时日志进行订阅处理。订阅之后,Lambda会在CloudWatch Logs更新之后,自动调用执行,进行数据ETL。 首先,在控制台创建一个Lambda函数(利用Python实现).为了确保Lambda有对应的执行权限,需要赋予Lambda函数相应的Permission Role.在这个示例中,我们只需要服务Lambda对应的CloudWatch Logs以及Kinesis Firehose的权限即可。 其次,Lambda 代码会对进入的CloudWatch日志的第一个Base64编码的转码并进行gzip解压(因为Cloudwatch Logs会对送往Lambda首先进行Base64编码并进行gzip压缩)。之后,Lambda会对具体的日志进行汇聚,以batch的方式发送给Kinesis Firehose。具体的代码如下: […]

Read More

AWS Limit Monitoring ——书到用时方恨少,资源提限需趁早!

如何在AWS产品将要达到限额的时候得到通知,确保可以提前做好提升限额的准备? Trusted Advisor (TA) 可以基于区域提供使用资源的限额以及用量,与此同时AWS 可以基于TA 监测的指标信息,当使用量达到产品限额的80%时触发邮件通知用户指定的邮箱。 工作原理 该解决方案使用AWS Lambda 自动检测服务用量以及限额并计算使用占比,当使用占比达到80%时,Lambda 将触发一个Amazon Simple Notification Service 主题 (Amazon SNS),为预先设定好的邮箱(邮箱组)发邮件通知。 监测本帐户限额(设置时间:大约5分钟) 1.点击以下AWS官方文档中的“Launch Solution”按钮:http://docs.aws.amazon.com/solutions/latest/limit-monitor/deployment.html 默认指向美东区域。一旦您在美东区域完成部署之后,AWS Limit Monitoring将为您监测当前设置账户在各个区域的使用情况。 2.系统自动生成S3 的URL,无需进行其它操作,点击下一步。 3.指定待监测的AWS帐户ID、通知邮箱(组)等参数,进入下一步。 4.检查确认参数正确后完成创建。 监测其他帐户限额 您也可以利用这种方式监控其他帐户限额,只需要在每个被监控的帐户中创建一个IAM角色,并赋予其权限,允许其通过跨帐户角色进行API 操作,获取被监测帐户的资源使用限额信息即可。 *注[1]:如果创建堆栈过程中设置多个账户,需要分别对除了设置账户之外的其他账户进行如上操作。 *注[2]:被监控帐户注册商用级别或企业级别支持服务适用此方式。 步骤一:创建IAM 角色 1.登陆被监控的账户,创建一个IAM role 2.为该IAM role 命名为- LimitCheckRole 3.选择IAM role 的类型为跨账户角色 4.输入创建堆栈中设置的账户的12 位账户 ID 步骤二:为创建的IAM 角色赋予三个权限: 1.为该IAM 角色分别赋予ReadOnlyAccess 2.为该IAM 角色分别赋予AWSSupportAccess 3.创建自定义Policy: 3.1 […]

Read More

Amazon Polly – 支持47种语音与24种语言的文本到语音转换服务

在准备写下这篇文章时,我的思绪不禁回到了自己的孩提时代(那时候大部分时间都用在了看电视上)。上世纪六十到七十年代,出现了大批热门的计算机与机器人语音产品。一瞬间,哈尔-9000、B9(来自〈迷失太空〉)、初代《星际旅行》中的计算机以及罗茜(来自〈摩登家庭〉)等形象再次涌现在我眼前。那个时候,人们都热衷于这种机械生成的语音——声音精准、清晰且缺乏人类应有的情感。 时间快速推进,如今我们已经拥有大量出色的计算机生成语音应用及用例可供选择,业界将其称为文本到语音或者简称TTS功能。娱乐、游戏、公共发布系统、电子学习、电话、辅助应用及设备乃至个人助手都已经开始将其引入。其中大部分应用能够很好地对接移动环境,但本地处理及存储型方案则表现平平。 你好, Polly 为了解决此类用例的实际需求(当然也包括其它大家能够想到的场景),我们推出了Polly,这项云服务能够将文本转化为逼真的语音,并允许大家将其用于您的工具及应用程序当中。Polly目前支持总计47种男声/女声表达并涵盖24种语言(暂不支持中文),而更多语言及语音选项亦在路线图规划之中。 Polly的设计目标在于解决语音生成工作中的大部分常见挑战。举例来说,我们以“live”一词为例,“I live in Seattle”代表我生活在西雅图,而“Live from New York”则代表由纽约发回的现场直播,二者在意义上显然存在差别。Polly能够理解这种同一词汇在不同语境下的含义,并给出完全不同的发音。类似的例子还有“St.”。根据语言类别及上下文背景的不同,其可以代表(或者应该发音为)“Street(街道)”或者“saint(圣)”。Polly同样能够准确识别二者间的差别。另外,Polly亦能够处理单位、分数、缩写、货币、日期、时间以及其它复杂的语言成分与表达方式。 为了实现这一目标,我们与以Polly支持的目标语言为母语的语言专家们进行合作。我们要求每位参与者利用其选定的语种提供大量单词与短语发音,并将音频拆分为声音单元,即双音素。 Polly在处理普通文本时拥有良好表现。大家只需要提交文本,Polly即可顺利完成接下来的工作,即以音频文件或者流媒体的方式给出精准、自然且与人类相似的语音表达。对于其它更为复杂的应用,大家可以使用SSML(即语音合成标记语言)为Polly提供更多附加信息。举例来说,如果您的文本内容中包含多种语言(例如英语与法语混杂),则可利用SSML作出标记以纠正发音。 在本文中我无法直接提供相关语音片段,因此感兴趣的朋友可以直接访问Polly Console(https://console.aws.amazon.com/polly)并亲自加以尝试。大家只需要输入文本内容并点击Listen to speech(听取语音)即可: 大家也可以将生成的音频保存在MP3文件并将其运用于您的应用程序当中。 以下为完全展开的语言与地区菜单: 技术细节 通过Console使用Polly当然非常便利,不过大家也可以采取其它方式以实现更具动态的使用途径。大家可以在文本或者SSML当中调用SynthesizeSpeech API函数。大家可以直接将输出结果以流媒体形式直接交付至用户,或者生成MP3或Ogg文件以备需要时播放。Polly能够以MP3或者Vorbis格式生成高质量(最高采样率为22 kHz)音频,亦可以PCM格式生成电话质量级(8 kHz)音频。 大家也可以利用AWS命令行界面(CLI)生成音频。例如: Polly会对全部闲置数据进行加密,并通过SSL连接进行音频传输。所提交文本与提交者间的关联将被移除,以加密形式存储最多6个月,并被用于维护及改进Polly功能。 价格与上线时间 大家每月可以利用Polly处理500万字而无需支付任何费用。在此之后,每个字的处理价格为0.000004美元,或者折合为音频生成约为每分钟0.004美元。本篇博文的语音转换价格约为0.018美元,而《哈克贝利-费恩历险记》全文的语音转换亦仅需约2.4美元。 Polly目前已经在美国东部(北弗吉尼亚州)、美国西部(俄勒冈州)、美国东部(俄亥俄州)以及欧洲(爱尔兰)服务区上线,大家可以从今天开始加以使用。 -Jeff 原文链接: https://aws.amazon.com/cn/blogs/aws/polly-text-to-speech-in-47-voices-and-24-languages/  

Read More

开发者预览版——EC2实例(F1)携手可编程硬件

你是否曾经在通用型工具与专用型工具之间左右为难?通用型工具可以解决多种不同的难题,但却未必是特定问题的最佳解决选项。相反,专用型工具擅长处理特定问题,但工具的使用频率往往不会很高。 工程师们在设计架构及指令集时同样需要考虑这一问题。他们始终追求能在更加通用的工作负载范围内,提供更佳性能表现的解决方案。然而新型工作负载与工作条件不断涌现,只有定制化硬件才是性能最佳之选。这就要求我们在其中找到平衡点:是要极出色的性能水平,还是要保证以年甚至季度为周期进行衡量的开发生命周期? 走入FPGA时代 作为一种备受瞩目的解决方案,我们迎来了基于定制化硬件的现场可编程门阵列机制,或者简称为FPGA。相较于单纯着眼于一种特定功能的专用型芯片,FPGA拥有更为出色的灵活性。其能够在现场完成编程,而后再接入PC主板的插槽当中。每块FPGA中包含一组固定且数量可观的简单逻辑门。对FPGA进行编程“基本上”就是将这些逻辑门彼此对接,从而建立起必要的逻辑功能(包括AND、OR以及XOR等等)或者存储元素(触发器与移位寄存器)。不同于CPU的串行本质(即数个并行元素)以及固定大小的指令集与数据路径(通常为32位或64位),FPGA能够以编程方式并行执行更多操作,而这些操作本身几乎不设任何宽度或者规模限制。 这种高并行模式非常适合用于构建定制化加速器,从而处理计算密集型工作负载。在经过有针对性的编程之后,FPGA能够在基因组学、抗震分析、金融网络分析、大数据搜索以及加密算法及应用领域提供高达30倍的速度增量。 希望这些优势能够鼓励大家尝试利用FPGA加速您的应用程序!不过必须承认,要实现这样的效果,我们还需要克服一系列挑战。首先,FPGA从传统角度讲属于大规模专用型系统的一类组件。大家无法单纯购买一款并将其接入自己的台式机。相反,实现FPGA型解决方案要求我们完成硬件原型设计、硬件设备构建、大规模生产以及漫长的销售与部署周期等筹备工作。漫长的实现时间会限制FPGA的适用性,这也意味着摩尔定律指导下的CPU类解决方案也许更具成本效益。 但我们相信,我们能够在这方面做得更好! 全新F1实例 现在,我们发布了全新F1实例的开发者预览版。除了构建应用及服务供您自己使用之外,大家也可以将其进行打包并在AWS Marketplace中出售并进行复用。总体而言,大家将能够避免使用FPGA支持型解决方案所带来的高昂资本投入与时间消耗,我们提供的方案将带来与其它类型软件相同的商业模式。大家将能够通过云工具设计您自己的逻辑、模拟方案以及验证流程,而后在数天之内将其推向市场。 F1实例配备有英特尔Broadwell E5 2686 v4处理器(基本速度为2.3 GHz,Turbo模式下全核心可达2.7 GHz,Turbo模式下单核最高可达3.0 GHz),最多976 GiB内存、最高4 TB NVMe SSD存储以及一到八块FPGA,这意味着其能够为大家提供充足的资源以构建自己的核心FPGA逻辑。各FPGA专用于此实例,且以隔离方式确保在多租户环境下的不致相互影响。 下在来看该FPGA的具体规格(请注意,单一F1实例中最多可使用八块FPGA): Xilinx UltraScale+ VU9P,采用16纳米制程工艺制造。 64 GiB ECC保护内存,配合288位总线(四DDR4通道) 专用PCIe x 16 CPU接口 约250万逻辑元素 约6800套数字信号处理(简称DSP)引擎 提供虚拟JTAG接口用于调试 在包含超过一块FPGA的实例当中,专用PCIe架构允许各FPGA共享同一套内存寻址空间并通过PCIe Fabric以最高每秒12 GB的单工速率实现彼此通信。单一实例中的各FPGA共同接入一套400 Gbps双向环状结构以实现低延迟水平与高传输带宽(大家需要定义自有协议以使用这项高级功能)。 FPGA开发流程 作为这套开发者预览版中的组成部分,我们还提供FPGA开发者AMI。大家可以在内存优化型或者计算优化型实例当中启动该AMI,从而实现开发与模拟,而后利用F1实例进行最终调试及测试。 此AMI包含多款开发者工具,大家可以在AWS Cloud当中免费加以使用。您需要使用VHDL或者Verilog编写FPGA代码,而后利用Xilinx Vivado设计套件(当然也可以使用第三方模拟工具、高级语言编译器、图形编程工具以及FPGA IP库)对代码进行编译、模拟与验证。 下面来看一段简单8位计数器的Verilog代码示例: 虽然这些语言常被描述为使用类C语法,但这并不代表大家可以直接使用现有代码并通过重新编译将其应用于FPGA当中。相反,大家需要首先对FPGA编程模式进行深入了解,学习布尔代数,而后掌握传播延迟与时钟脉冲边沿等概念。在此基础之上,大家才能够开始考虑将FPGA引入您的业务环境。如果这些底层知识对您来说太过艰深,大家亦可使用各类现有高级综合工具,包括OpenCL等,进行FPGA编程。 在启动自己的实例后,我进行登录、安装多款软件包并设置许可管理器,而后即可运行Vivado工具。接下来,我RDP到桌面,打开一个终端窗口并以GUI模式启动Vivado: 我随后打开该示例项目(counter.xpr),这就是我初次尝试后的FPGA设计与开发成果: 在一番探索之后,我了解了如何建立自己的首个FPGA(其实我基本上就是到处点点并了解其作用; 我本人在这方面甚至连新手都算不上): 从这里开始,我可以测试自己的设计并将其打包为Amazon FPGA镜像(简称AFI),而后将其运用在自有应用或者发布至AWS Marketplace当中。我还将继续摸索,希望能用几周时间弄清一切并向大家汇报。 F1硬件开发工具包 […]

Read More

Amazon Lex – 构建对话语音与文本界面

尽管能够“说话”的计算机确实令人振奋,但学会了倾听与回应的计算机无疑更加出色!如果大家曾经使用过Amazon Echo,一定体会过在Alexa服务支持下的交互模式是多么简单、实用和强大。 今天,我们利用与Amazon Alexa相同的深度学习技术(ASR,即自动语音识别;NLU,自然语言理解),为大家带来能够在您的对话应用程序内生效的新服务。大家可以利用Amazon Lex服务构建聊天机器人及其它类型的Web与移动应用程序,其将带来逼真的对话交互能力。您的聊天机器人能够提供信息、支持应用程序、简化工作行为,或者为其它机器人、无人机乃至玩具提供控制机制。 Amazon Lex的设计目标在于帮助大家快速实现上述目标。大家首先可在Lex Console中设计您的对话,即为Lex提供某些示例性短语以构建自然语言模型。在此之后,您即可公布自己的Amazon Lex机器人并利用其处理来自您用户的文本或者语音对话内容。Amazon Lex是一项全托管服务,因此大家无需为其配套基础设施的设置、管理或者规模伸缩而费心。 您的聊天机器人目前可接入Facebook Messenger; 面向Slack与Twilio的整合工作正在进行当中。在AWS方面,Amazon Lex可与AWS Lambda、AWS Mobile Hub以及Amazon CloudWatch进行协作。您也可在代码中使用Amazon DynamoDB、Amazon Cognito以及其它服务。 Amazon Lex允许大家利用AWS Lambda函数以实现聊天机器人的业务逻辑,其中包括接入您的企业应用及数据。配合刚刚公布的、适配于AWS Mobile Hub的SaaS集成能力,大家可以使用自己构建的企业生产力机器人为客户、联系人、领导层,以及存储于其它SaaS应用程序内的企业数据提供对话界面。 综合上述内容,大家现在能够利用全部相关组件来构建全面集成化解决方案。Amazon Lex可由移动应用为起点,并可逐步推进至逻辑实现层面。 Amazon Lex概念 下面我们将对Amazon Lex的各项基本概念加以阐述: 机器人 –  一个包含了所有对话组件的聊天机器人。 意图 –  意图代表使用这个机器人的用户所希望达成的目标(包括购买机票、安排预约或者获取天气预报信息等)。 话语 –  话语指的是以语音或者文本形式表达的短语。每个话语会调用一项意图。“我想预订酒店”或者“我想预订鲜花”就是两条简单的话语。 槽位 – 每个槽位代表着满足用户意图所对应的数据片段。槽位内容拥有具体类别; 差旅机器人一般使用的槽位包括城市、州或者机场。 提示 –  提示表现为问题,用于要求用户提供某些数据(以填充槽位)来表述其意图。 实现 –  实现代表的是能够达成用户意图的业务逻辑。Lex支持利用Lambda函数作为实现手段。 机器人、意图以及槽位具备版本控制机制,因此大家可以在多开发者环境当中,在诸如开发、测试、分段以及生产等流程间设定明确的边界。大家可以为机器人创建多种别称,并将其映射至各组件的特定版本当中。 构建一套机器人 大家可以通过Lex Console定义Lex机器人并为其设置全部组件。作为起步,大家可以首先使用我们提供的样例或者直接创建您理想中的定制化机器人: 您可在下一页面中定义您的话语及其配套槽位: 而后利用以下设置对机器人进行自定义: 您可以通过交互进行机器人测试并随时调整,直到其反应与预期相符: 此后,您可以生成一条回调URL以将其应用在Facebook(或者其它支持平台)当中: 在本届re: […]

Read More

Amazon Rekognition – 深度学习支持下的图像检测与识别服务

看到这张图片时,你的大脑是如何理解它的呢? 你可能看到一只动物、一只宠物、一只狗或者更为具体——一只金毛犬。图像与这些标签之间的联系并非硬性嵌入您的大脑,而是在看过成百上千张这样的图片之后,你的大脑才能够直接给出正确的解读。通过多个不同层面的认知,我们学会了如何区分动物与植物,猫与狗,以及其它犬种与金毛犬间的差异。 深度学习之于图像检测 然而,事实证明:为计算机赋予和人类同等水平的理解能力是一项相当困难的任务。在数十年的研究过程中,计算机科学家们尝试利用各种方法来解决这一难题。时至今日,计算机科学领域已经达成广泛共识——即解决该问题的最佳途径为深度学习。深度学习利用特征抽象化与神经网络相结合的方法输出结果。这一方法甚至曾被伟大的科幻作家Arthur C. Clarke评论为“简直与魔法无异”。 然而,深度学习仍然需要投入相当高昂的成本。首先,大家需要耗费可观的精力与时间进行训练。从本质角度讲,这意味着我们需要为学习网络提供范围极广的已标记示例(“这是一只狗”、“这是一只宠物”等等),从而确保其能够将图像中的特征性内容与标签联系起来。这个阶段需要占用可观的计算资源,特别是考虑到神经网络自身的实际规模以及多层级属性。训练阶段完成之后,成熟的网络即可更为轻松地评估其它新型图像。其结果通过传统置信水平(0%至100%)表现,而非直接给出不容置疑的事实。如此一来,大家将能够决定自己的应用适合搭配怎样的精度。 Amazon Rekognition介绍 今天,我将向大家介绍Amazon Rekognition。我们的计算机视觉小组多年以来一直致力于开发深度学习方案,并以此为基础推出了这项完备的服务,其目前每天已经能够分析数十亿张图片。该服务利用成千上万对象及场景进行训练,因此现在可供大家的应用程序直接使用。如果大家对此抱有兴趣,那么不妨在着手深入研究并编写代码以利用Rekognition API之前,访问下面的网址: https://console.aws.amazon.com/rekognition/home 查看我们提供的相关演示。 Rekognition在设计初期就充分考虑到了规模化使用需求,能够识别场景、物品以及面部图像。在获取图像之后,Rekognition能够返回一份标签列表。对于那些包含一张或者多张面孔的图像,它会为每张面孔返回范围框及其属性。下面让我们来看看其如何分析文章开头的这幅金毛犬图片(顺带一提,这只小美女名叫Luna): 如大家所见,Rekognition以高置信水平将Luna标记为一只动物、一只狗、一只宠物以及一只金毛犬。必须强调的是,这些标签相互独立,这意味着该深度学习模型并没有明确理解各标签之间的关系,例如狗与动物。其只是之前Rekognition训练时使用的素材恰好将这两个标签与以狗为中心的内容加以关联。 下面再来看Rekognition如何分析我和妻子两人的合照: Amazon Rekognition找到了我们的面部位置,并用框体将其圈出,同时告知我妻子的表情非常幸福(这张照片拍摄于她生日当天,能让她感到幸福也是我发自内心的期许)。 大家也可以利用Rekognition比较不同面孔,并询问其是否在给定照片中找到了其它面孔。 这一切强大的处理能力皆可通过一组API函数进行访问,大家可以利用控制台(https://console.aws.amazon.com/rekognition/home)进行快速演示。举例来说,大家可以调用DetectLabels从而通过编程方式重现我给出的第一个示例,或者调用DetectFaces以重现我的第二个示例。大家可以对进行多次调用IndexFaces,从而帮助Rekognition作好识别面部信息的准备。每一次对IndexFaces进行调用,Rekognition都会从图片中提取出部分特性(被称为面部矢量),存储这些矢量并丢弃该图像。大家可以创建一套或者多套Rekognition收集库,并在每套库内存储多个相关面部矢量组。 Rekognition能够直接将处理图像保存在Amazon简单存储服务(简称S3)当中。事实上,大家亦可以利用AWS Lambda函数处理任意规模的新近上传图像。大家还可以利用AWS身份与访问管理(简称IAM)服务对指向Rekognition API的访问加以控制。 Rekognition的实际应用 那么,大家能够利用Rekognition做什么有趣的事?我个人倒是有很多想法。 如果大家已经拥有大量图像,则可利用Amazon Rekognition对其进行标记与索引。由于Rekognition属于一项服务,因此大家能够每天处理数百万张图像,而无需为底层基础设施的设置、运行以及规模伸缩费心。大家可以随时运用视觉搜索、标签浏览以及一切交互式发现模式。 大家也可以利用Rekognition配合多种不同验证及安全背景。大家可以对摄像头上显示的面孔与存档照片进行比较,从而判断是否允许对方进入安全区域。大家也可以执行视觉监控,即从照片中找出那些值得关注或者追踪的对象或者人物。 大家可以构建“智能化”营销公告牌,利用其收集观看人员的相关统计数据。 已经上线 Rekognition服务目前已经在美国东部(北弗吉尼亚州)、美国西部(俄勒冈州)以及欧洲(爱尔兰)服务区上线,大家从今天开始即可使用。作为AWS免费层的组成部分,大家每月可利用其分析最多5000张图像并存储最多1000个面部矢量,免费周期为一年。在此之后(或者您需要对处理容量进行扩展),大家需要以分层方式根据分析图像以及所存储面部矢量的具体数量付费。 还想了解更多信息?我们将于美国中央时区时间12月14日星期三的上午4:00到5:00召开网络研讨会,感兴趣的朋友可以访问: https://publish.awswebcasts.com/content/connect/c1/7/en/events/event/private/23850344/41359021/event_registration.html?connect-session=graysonbreezdndrpkw7uwmhrgxc&sco-id=55023367&campaign-id=JB&_charset_=utf-8 进行注册。 中国区的AWS用户也不用着急,我们将会很快举办一场AWS re:Invent 2016的回顾活动,全面为大家介绍此次发布的新功能与新服务。敬请期待! -Jeff 原文链接: https://aws.amazon.com/cn/blogs/aws/amazon-rekognition-image-detection-and-recognition-powered-by-deep-learning/  

Read More

如何在AWS上安装使用分布式TensorFlow

前言 近几年来,深度学习得到了长足的发展,伴随着深度学习的发展,深度学习框架也变得越来越为人们所熟知。TensorFlow是谷歌开源的深度学习框架,自开源以来得到了业界的认可和支持,特别是在TensorFlow分布式版本发布以后,更多的深度学习专业人士开始使用TensorFlow进行分布式的深度学习研究。 深度学习框架底层需要硬件资源的支持,特别需要GPU实例的支持,而AWS云端弹性的GPU实例无疑是深度学习从业人员手中最灵活的资源。 本文将介绍在AWS上使用GPU实例安装配置分布式TensorFlow的过程,希望可以让读者快速搭建自己的深度学习环境,尽快深入到自己的生产应用中或者是研究领域中。 环境准备 首先我们需要为TensorFlow安装准备基础环境,其中包括AWS账号的创建,IAM用户的创建,VPC的划定等工作。有关这些具体工作的细节在本文就不详细讲述了,这些方面的细节请参考相关博文或者技术文档。 准备好账号之后就需要启动两台GPU实例进行设置,考虑到启动实例后需要进行一些软件部署,建议先启动一台GPU实例,安装设置好TensorFlow之后创建实例的AMI镜像,然后通过镜像启动第二台GPU实例,这样比较节省时间。 本文以Ubuntu作为基础环境,所以在启动实例的时候选择操作系统时选择Ubuntu镜像,本例选择的是。 进一步需要做的是选择实例类型,在AWS上的GPU实例有G2和P2两种大的类型。 P2使用了NVIDIA的K80 GPU,实例的具体配置如下: G2使用了NVIDIA的K520 GPU,实例具体配置如下: 选择你希望使用的实例类型,然后按照EC2启动向导启动该实例。关于EC2启动的不同选项请参考相关文档,这里需要留意的是“置放组”选项,如果我们启动多个EC2实例运行TensorFlow并进行分布式计算,把这些实例放在一个“置放组”内会有效提高实例间的网络通讯效率。 实例启动后通过ssh工具连接到该实例上开始安装过程。 安装TensorFlow 准备好EC2实例后,通过ssh工具连接到实例上,开始以下安装工作。 因为TensorFlow安装需要较长时间,所以建议连接到EC2实例上以后通过screen命令或者tmux命令启动session管理,这样安装过程中出现ssh连接中断也可以继续完成安装工作。 首先需要安装相关的依赖包,具体命令如下: sudo apt-get update sudo apt-get upgrade sudo apt-get install -y build-essential git python-pip libfreetype6-dev libxft-dev libncurses-dev libopenblas-dev gfortran python-matplotlib libblas-dev liblapack-dev libatlas-base-dev python-dev python-pydot linux-headers-generic linux-image-extra-virtual unzip python-numpy swig python-pandas python-sklearn unzip wget pkg-config zip g++ […]

Read More