Author: AWS Team


介绍 Gluon 这一易于使用的灵活深度学习编程接口

原文链接 | 今天,AWS 和 Microsoft 发布了一项新规范,该规范旨在为所有开发人员改进机器学习技术的速度、灵活性和可访问性,而无论他们选择什么样的深度学习框架。这种合作的第一项成果是全新的 Gluon 接口,这是 Apache MXNet 中的一个开源库,让所有技能级别的开发人员都能够设计深度学习模型的原型、构建该模型以及开展训练。该接口极大地简化了创建深度学习模型的过程,而不会影响到训练速度。

下面是 Gluon 的四大优势以及演示这些优势的代码示例:

(1) 简单、容易理解的代码

在 Gluon 中,您可以使用简单、清晰和简洁的代码定义神经网络。您将获得一整套即插即用的神经网络构建块,包括预定义的层、优化程序和初始化程序。利用这些构建块,您无需再纠缠于各种各样复杂的底层实施细节。下面的示例说明了如何使用短短几行代码定义一个简单的神经网络:

# 第一步是初始化您的模型
net = gluon.nn.Sequential()
# 接下来,定义您的模型架构
with net.name_scope():
    net.add(gluon.nn.Dense(128, activation="relu")) # 第一层 - 128 个节点
    net.add(gluon.nn.Dense(64, activation="relu")) # 第二层 - 64 个节点
    net.add(gluon.nn.Dense(num_outputs)) # 输出层

下表说明了神经网络的体系结构:

有关更多信息,请转到本教程,了解如何使用 Gluon 神经网络构建块来构建一个称为多层感知器 (MLP) 的简单神经网络。对于更高级的使用案例来说,从头开始编写神经网络的各个部分也是非常容易的。使用 Gluon,您可以在神经网络中混用和匹配预定义组件和自定义组件。

(more…)

Gluon 简介:AWS 和 Microsoft 合作推出的新机器学习库

作者:Matt Wood 博士

针对云迁移的 21 个最佳实践

熟能生巧。-Bobby Robson

在过去几个月里,我花了很多时间与各种 AWS 客户和团队合作来打造帮助企业加快云迁移工作的全面计划。此计划包含许多方面,包括 (但不限于) AWS 服务 (例如,AWS Database Migration Service、AWS Snowball、VM Import/Export)、一个由 AWS 专业服务打造的迁移方法、一个即将推出的“迁移到 AWS”培训计划以及与工具提供商和咨询商店建立的合作伙伴关系 (旨在加快各行各业各种规模的企业的云迁移速度)。

今天,我很高兴介绍由本公司的员工 Sadegh Nadimi 编写的一篇客座文章,此人详细说明了我们在执行到 AWS 的大型迁移的企业中观察到的 21 个最佳实践。言归正传 . . .

-Stephen
orbans@amazon.com
@stephen

(more…)

在使用云进行试验时,4 件要做的事情和不要做的事情

“证明一根木棒是弯木棒的最佳方法不是争论或花时间去抨击,而是将一根直木棒放在它旁边”― D.L. Moody

在我的上一篇文章中,介绍了云如何使所有类型和规模的公司能够以更低的成本更轻松地进行试验且风险更小。公司越是意识到这一点,就越有更多的试验文化成为在今天的市场中保持竞争力的筹码。 试验引发创新,从来没有这么好的机会实施新想法。

您从何处开始?下面是在您的组织内打造试验文化时要考虑和避免的四件事。

1. 需要管理期望

虽然并不是每个试验都将提供您预想的结果,但每个试验都是一个了解和改善运营的机会。如果您的组织不习惯“未能学习”这个概念,请从小事做起,确保每个人都摘掉您考虑试验的项目。通过清楚了解实验目的、预期结果、测量和测试结果的方式以及您希望从中学到的知识来管理您的利益相关者的期望。我发现,如果大多数高管知道组织更乐意进行试验并学习知识,他们将欣赏那些结果不确定的试验。

不要从每个人都有一个特定结果的项目开始

如果您充当尝试打造试验文化的变革代理,请不要在您的旅程中过早地试验您的利益相关者期望获得特定结果的项目。我不是建议您开始试验年末账单运行 (举例来说)。我曾经为其工作的一位首席执行官告诉我,失败是可以接受的 (除非没有失败)。要对逐步积累的进展感到满意,并慢慢地增加你所进行的试验的数量,但不要超过组织。

2. 需要鼓励您的团队计划试验

每个组织都有自己的方法来确定哪些项目获得了技术资源。不幸的是,一些组织现在将技术或 IT 部门视为成本中心,并且已将理念推到离实现位置太远的地方了。好的想法可以来自任何地方,当然,当它涉及外部项目时,大多数技术专家都有一个独特的观点。这在刚开始使用云的组织内尤为如此 - 对项目使用云的个人处于计划试验的最佳位置,这些试验利用云的独特功能来使业务受益。帮助支持您的团队的计划,并安置好您的员工以影响高层管理团队所投资的项目。

在知道如何测量试验之前不要进行试验

您希望将时间花在正确的试验上,并确保从中学到的经验将改善您的运营和产品。在您让您的团队向前推进试验之前,您应同意他们将在试验期间测量的内容和测量方法。如果您正在测试网站上的新功能,哪些指标将使测试成功?页面视图?单击次数?放弃?这种小而重要的尽职调查将迫使您的团队去思考为什么他们要首先计划一个试验。它还将强制您的团队设定正确试验的优先级。

3. 需要考虑开发运营使试验制度化

开发运营文化是一种将试验融入组织中的强有力的方式。通过将运行您构建的内容与自动化相结合,可以大大减少发布更改所花的时间,从而允许您更频繁地发布更改并在失效时更快地回滚更改。成熟的开发运营组织还开发了 A/B 测试框架,这些框架可使其在不同的用户群中尝试不同的用户体验以了解什么是最有效的。

不要怀疑您的团队

怀疑是对团队造成打击并打开失败之门的最有力的方法之一。当您学会适当地审视试验、测量试验并对其进行快速迭代时,您应会发现在需要怀疑之前,您能够适应您的方法。确保您的团队正在考虑正确的方法来测量试验并提出尖锐的问题是正常的,但您应考虑帮助团队解决问题而不是怀疑他们的交付能力。 人们倾向于追随那些相信他们会成功的领导者

4. 需要鼓励整个组织进行参与

当您开始通过试验更快地交付结果时,组织的其他方面将被您的方法吸引。吸引这些人的参与。尝试一个包含不同业务领域的黑客马拉松,让您的利息相关者帮助确定测量试验的方式,并询问组织他们一直想要进行试验的领域。虽然不是每家公司都会选择为其员工提供试验时间,但这些公司通常会将它宣传为竞争优势。至少,这些具有包容性的活动可以提高员工士气和员工保留率。在 Amazon 的短暂任期内,我发现任何能够写作进行思考和表达试验的人员通常都会有机会进行尝试。这是我们的文化的一个特殊部分,也是吸引和留住创新者和建设者的出色工具。

不要让试验减速或停止交付

不要让您的团队仅因某件事是一个试验而逃脱责任。虽然失败和学习是允许的,但在试验中无法交付是不允许的。软件仍需要交付测试;它通常需要用实际的生产流量来进行测量。仅仅因为这是一个实验并不意味着您应稍后开始测量它,或者让其质量受到影响。毕竟,您仍在运营业务。

您的组织通过什么来支持试验文化?请一定告诉我!

不断前进,
-Stephen
orbans@amazon.com
@stephenorban
http://aws.amazon.com/enterprise/

注:打造试验文化是我在企业云之旅系列文章中撰写的七个最佳实践中的第三个最佳实践。其他六个最佳实践是:提供高管支持对员工进行培训寻找合作伙伴创建云卓越中心实施混合架构和实施云优先策略。请保持关注以获得每条最佳实践的更新。

 

Amazon Linux AMI 2017.09 现已推出

我很高兴地宣布,Amazon Linux AMI 的最新版本 (2017.09) 现可供所有 AWS 区域中当前一代的所有 EC2 实例使用。此 AMI 包含受支持和维护的 Linux 映像,该映象旨在为 EC2 上运行的应用程序提供稳定、安全和高性能的环境。

易于升级
只需运行以下两条命令然后重启,就可将现有实例升级:

$ sudo yum clean all
$ sudo yum update

好处多多
此 AMI 包含许多新功能,其中有很多都是应客户要求而添加的。总结如下:

Kernel 4.9.51 – 此内核以 4.9 稳定内核系列为基础,包括 ENA 1.3.0 驱动程序,还支持 TCP 瓶颈带宽和 RTT (BBR)。请阅读我的文章 Elastic Network Adapter – Amazon EC2 高性能网络接口,了解有关 ENA 的更多内容。要了解如何启用 BBR,请阅读发行说明

Amazon SSM 代理 – Amazon SSM 代理现已默认安装。也就是说,现在您可以使用 EC2 Run Command 在您的实例上配置并运行脚本,而无需进行其他设置。要了解更多内容,请阅读使用 Systems Manager Run Command 执行命令使用 EC2 Run Command 在不使用 SSH 访问的情况下大规模地管理实例

Python 3.6 – 现已包含 Python 最新版本,还可通过 virtualenvalternatives 进行管理。您可以使用如下方法安装 Python 3.6:

$ sudo yum install python36 python36-virtualenv python36-pip

Ruby 2.4 – 现已提供 Ruby 2.4 系列最新版本。安装方法如下:

$ sudo yum install ruby24

OpenSSL – 此 AMI 目前使用 OpenSSL 1.0.2k

HTTP/2 – 此 AMI 的 httpd24nginxcurl 程序包现已支持 HTTP/2 协议。

关系数据库 – 现已推出 Postgres 9.6MySQL 5.7,安装方法如下:

$ sudo yum install postgresql96
$ sudo yum install mysql57

OpenMPIOpenMPI 程序包现已由 1.6.4 升级到 2.1.1。已推出 OpenMPI 兼容包,可用于构建及运行较旧的 OpenMPI 应用程序。

更多 – 更新的其他程序包包括 Squid 3.5Nginx 1.12Tomcat 8.5GCC 6.4

立即启动
您现在就可以使用此 AMI 在所有 AWS 区域启动 EC2 实例。它适用于由 EBS 提供支持的实例和由实例存储提供支持的实例,还支持 HVM 和 PV 模式。

Jeff

Microsoft SQL Server 2017 在 Amazon EC2 上的实践

Microsoft SQL Server 2017 (几天前刚刚发布) 包含许多强大的新功能,包括支持图形数据库数据库自动优化,还能创建无集群 Always On 可用性组。它还能在 Linux 和 Docker 容器中运行。

在 EC2 上运行

我很高兴地在此宣布,现在,您可以启动运行 Windows Server 2016 以及 SQL Server 2017 的四个版本 (Web、Express、Standard 和 Enterprise) 的 EC2 实例了。今天,AMI (Amazon 系统映像) 已在所有 AWS 区域提供,可以在各种 EC2 实例类型上运行,包括全新的 x1e.32xlarge (具有 128 个 vCPU 和接近 4 TB 的内存)。您可以通过 [控制台] 或 [Marketplace] 启动这些实例。以下是它们在控制台中的样子:

以及在 AWS Marketplace 中的样子:

丰富的许可选项

对于 SQL Server 您拥有多种许可选项:

按需付费 – 如果您已经在运行旧版 SQL Server,希望升级,但不想购买许可,那么此选项很适合您。您不必进行调整、软件合规性审计或软件保障,也不需要长期购买。如果您运行的是 SQL Server 标准版,还可得益于我们最近的降价,最多可节省 52%。

许可证移动性 – 选择此选项可使用您的活跃软件保障协议,将现有许可证带到 EC2,还能在 Windows 或 Linux 实例上运行 SQL Server。

自带许可 – 选择此选项,您可利用现有许可证投资,尽量降低升级成本。您可以在 EC2 专用实例EC2 专用主机上运行 SQL Server,如果按内核许可 SQL Server,还有可能降低运营成本。使用此选项可在 EC2 Linux 实例上运行 SQL Server 2017 (支持 SUSE、RHEL 和 Ubuntu),还支持在 EC2 Windows 和 Linux 实例上运行的基于 Docker 的环境。要了解有关这些选项的更多详情,请阅读在 Linux 上安装 SQL Server 的指南使用 Docker 运行 SQL Server 2017 容器映像

了解更多

要了解有关 SQL Server 2017 的更多详情,并深入探索您的许可选项,请查看 AWS 上的 SQL Server 页面。如果您需要迁移规划方面的建议和指导,请与有能力处理 Microsoft 工作负载,且专注于数据库解决方案的合格 AWS 合作伙伴联系。Amazon RDS 计划于 11 月提供对 SQL Server 2017 的支持。届时将会向您提供完全托管选项。请安排时间在 PASS 峰会 (11 月 1-3 日,西雅图) 和 [re:Invent] (11 月 27 日到 12 月 1 日,拉斯维加斯) 与 AWS 团队见面。

Jeff 附言 – 特别感谢我的同事 Tom Staab (合作伙伴解决方案架构师) 对此篇博文的贡献!

使用 Amazon Polly 提供实时家居监控警报

这是 Y-cam Solution 高级开发人员 Siva K. Syamala 撰写的客座博客文章。用她自己的话说,“Y-cam 是高质量安保视频解决方案提供商,我们的愿景是让智能家居安防系统变得简单,方便所有人使用。” | 原文链接

家居安防是家庭自动化和物联网的重要组成部分。Y-cam Solutions Limited 在 Amazon 的大力支持下,提供了一个智能安防系统,该系统可通过智能手机在世界任何地方进行监视和控制。为了改进警报、通知和系统控制方式,Y-cam 使用 Amazon Polly 提供一流的 AI 服务。利用该服务,用户可通过语音与安防系统进行交互。

我们的服务的工作方式

当触发报警时,我们通过 Twilio 以语音电话的方式通知客户。在建立呼叫后,Twilio 将逐步执行 TwiML 指令,并使用从 Amazon Polly 检索的合成语音开始向客户传送信息。电话接听方通过按手机键盘上的按钮 (DTMF 代码) 来做出回应。根据具体的 DTMF 代码,我们的服务会采取指定的操作,并返回从 Amazon Polly 检索的合成语音所对应的 TwiML 指令。为了让用户听起来像一个真实的对话,Amazon Polly 必须快速做出回应。延迟和等待会让人不满,并更有可能会导致接听方挂断电话。

下面是触发警报时向客户拨打的电话的示例音频剪辑。

架构

 

呼叫 Amazon Polly

以下 Java 代码说明了从 Amazon Polly 请求合成语音并将其存储在 S3 存储桶中的过程。

(more…)

在 AWS 上制造一辆无人驾驶车辆,并参加 re:Invent 机器人车拉力赛

在未来数年内,我们的道路上将会看到有许许多多的无人驾驶车辆在行驶。这归功于深度学习的发展及其在无人驾驶技术方面的应用。在本博客文章中 | 原文链接,我们将向您展示一个教程,介绍如何制造使用 Amazon AI 服务的遥控 (RC) 车辆。

通常,每个无人驾驶车辆上都会安装各种各样的传感器,这些传感器可提供充分的遥测数据。这些遥测数据可用于改善单个车辆的驾驶,而且还能帮助提升用户体验。一些改进示例包括智能驾驶路线确定、增加车辆可行驶里程、提高效率、增强安全性以及更好地报告碰撞情况。在 AWS 上,像 TuSimple 这样的客户已经使用 Apache MXNet 打造了一个尖端的无人驾驶平台。TuSimple 已于近期实现了 200 英里的无人驾驶里程。

为了在无人驾驶车辆的驾驶中提高深度学习意识,推动 AWS IoT 的运用以及凸显人工智能 (AI) 的作用,AWS 将在 re:Invent 2017 大会期间,举办一个研讨会形式的机器人车马拉松拉力赛。这是一系列博客文章和 Twitch 视频中的第一个,利用这些文章和视频,开发人员可以学习无人驾驶 AI 技术,并为这场马拉松赛做好准备。有关马拉松赛的更多详情,请参阅 2017 年机器人车拉力赛

在本教程中,我们将利用一个称为 Donkey 的开源平台项目。如果您愿意的话,可以使用您自己的 1:10 比例的电动汽车进行试验。不过,我们将坚持使用 Donkey 项目中使用的 1:16 比例的电动汽车。

下面是一些视频,其中演示了我们使用后面教程在 AWS 中制造的其中两款汽车。

车辆制造过程

在此存储库中可以找到组装和配置无人驾驶车辆的过程。其中还包括一个完整的材料清单,并且提供了链接,说明在什么地方购买各种部件。主要车辆部件来自于 RC Car、Raspberry Pi、Pi Cam 和 Adafruit Servo HAT,总成本不超过 250 美元。您可以购买其他传感器,如立体摄像机、LIDAR 数据采集器和加速度计等等。

我们建议您遵循此 Github 存储库中的步骤,这样可确保车辆具备各项基本功能,并且让您在成功的道路上最大程度地减少一些意义不大的繁重工作。

(more…)

释放创造力 – AWS Step Functions 让您事事顺利

我经常进行有关 Amazon 创新文化的演讲,通常,开场幻灯片都会引用 Amazon 创始人 Jeff Bezos 一句发人深省的话:

我喜欢和客户坐在一起,听他们讲述我们如何帮助他们释放了创造力,让他们能够追寻梦想。今年早些时候,我与可口可乐公司的 Patrick 聊天,想了解他们如何使用 AWS Step Functions 和其他 AWS 服务支持 Coke.com Vending Pass 计划。此计划包括,在支持使用可口可乐 Vending Pass 进行移动支付的自动贩售机上购买产品可以赢得饮品奖励。参与者可轻扫已启用 NFC 的手机,完成 Apple PayAndroid Pay 购买,同时向自动贩售机表明身份,并赢取积分,将来即可在自动贩售机上免费获得饮品

轻扫之后,SNS 主题和 AWS Lambda 函数的组合会对部分现有后端代码启动两次调用,以计算贩售点数并更新参与者的记录。遗憾的是,后端代码响应太慢,还有一些计时依赖性,从而导致漏掉更新,并有可能使 Vending Pass 参与者觉得很困惑。解决这个问题的最初方案非常简单:修改 Lambda 代码,在两次调用之间加入 90 秒延迟。这样确实可以解决问题,但平白消耗了处理时间 (对 Lambda 函数的使用计费取决于请求的持续时间,以 100 毫秒为间隔)。

为了使解决方案更加经济高效,团队转而使用 AWS Step Functions,并构建了非常简单的状态机。我在之前的一篇博文中介绍过,Step Functions 能够使用易于构建的可视化工作流,大规模协调分布式应用程序的组件和微服务。

可口可乐构建了非常简单的状态机来简化业务逻辑并降低成本。您的状态机也可以同样简单,还可以利用其他 Step Function 功能,例如顺序执行和并行执行,以及做出决策和选择备用状态的能力。可口可乐状态机如下图所示:

FirstStateSecondState 状态 (Task 状态) 会调用相应的 Lambda 函数,同时 Step Functions 会实施 90 秒的延迟 (Wait 状态)。这种修改可以简化逻辑并降低成本。下图说明了这些功能是如何结合在一起的:

下一步工作
首战告捷让他们进一步调研了无服务器计算,并打算在其他项目中进行应用。Patrick 告诉我,他们已经看到了工作效率的大幅提高,开发人员也很开心。开发人员不用再等待服务器进行预置,借用 Jeff 的话来说,他们现在可以释放创造力,追寻梦想。他们希望使用 Step Functions 改善应用程序的扩展能力、功能和可靠性,这已远远超出最初的可口可乐 Vending Pass 方面的用途。例如,可口可乐已使用 Lambda、Step Functions 和 API Gateway 构建了无服务器解决方案,用于向他们的食品服务合作伙伴发布营养信息。

Patrick 和他的团队现在正在试验机器学习和人工智能。他们构建了一个原型应用程序,用于分析 Instagram 的照片流,并提取品味和风味方面的趋势。这个应用程序是一天就构建完成的快速原型,利用了 LambdaAmazon DynamoDBAmazon API GatewayAmazon Rekognition,用 Patrick 的话来说,这是一个“巨大的成功,将发挥重要作用”。

为了更快地构建无服务器应用程序,开发团队已在无服务器应用程序框架的基础上创建了内部 CI/CD 参考架构。这种架构包括无服务器导览,以及一些用于访问内部服务和资产的样板文件代码。Patrick 告诉我,他们使用这种模型可以轻松地将有前景的项目从“一人一电脑”扩展到整个开发团队。

Patrick 将参加 AWS re:Invent,在我的同事 Tim Bray 之后发表演说。要亲眼目睹他们的风采,请参加 SRV306 – 狂野状态机!客户如何使用 AWS Step Functions

Jeff

Amazon Linux AMI 2017.09 现已推出

我很高兴地宣布,Amazon Linux AMI 的最新版本 (2017.09) 现可供所有 AWS 区域中当前一代的所有 EC2 实例使用。此 AMI 包含受支持和维护的 Linux 映像,该映象旨在为 EC2 上运行的应用程序提供稳定、安全和高性能的环境。

易于升级
只需运行以下两条命令然后重启,就可将现有实例升级:

$ sudo yum clean all
$ sudo yum update

好处多多
此 AMI 包含许多新功能,其中有很多都是应客户要求而添加的。总结如下:

Kernel 4.9.51 – 此内核以 4.9 稳定内核系列为基础,包括 ENA 1.3.0 驱动程序,还支持 TCP 瓶颈带宽和 RTT (BBR)。请阅读我的文章 Elastic Network Adapter – Amazon EC2 高性能网络接口,了解有关 ENA 的更多内容。要了解如何启用 BBR,请阅读发行说明

Amazon SSM 代理 – Amazon SSM 代理现已默认安装。也就是说,现在您可以使用 EC2 Run Command 在您的实例上配置并运行脚本,而无需进行其他设置。要了解更多内容,请阅读使用 Systems Manager Run Command 执行命令使用 EC2 Run Command 在不使用 SSH 访问的情况下大规模地管理实例

Python 3.6 – 现已包含 Python 最新版本,还可通过 virtualenvalternatives 进行管理。您可以使用如下方法安装 Python 3.6:

$ sudo yum install python36 python36-virtualenv python36-pip

Ruby 2.4 – 现已提供 Ruby 2.4 系列最新版本。安装方法如下:

$ sudo yum install ruby24

OpenSSL – 此 AMI 目前使用 OpenSSL 1.0.2k

HTTP/2 – 此 AMI 的 httpd24nginxcurl 程序包现已支持 HTTP/2 协议。

关系数据库 – 现已推出 Postgres 9.6MySQL 5.7,安装方法如下:

$ sudo yum install postgresql96
$ sudo yum install mysql57

OpenMPIOpenMPI 程序包现已由 1.6.4 升级到 2.1.1。已推出 OpenMPI 兼容包,可用于构建及运行较旧的 OpenMPI 应用程序。

更多 – 更新的其他程序包包括 Squid 3.5Nginx 1.12Tomcat 8.5GCC 6.4

立即启动
您现在就可以使用此 AMI 在所有 AWS 区域启动 EC2 实例。它适用于由 EBS 提供支持的实例和由实例存储提供支持的实例,还支持 HVM 和 PV 模式。

Jeff