东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

AWS Deep Learning Containers

  • 2019-10-05
  • 本文字数:1874 字

    阅读完需:约 6 分钟

AWS Deep Learning Containers

我们希望能让您尽可能方便地了解深度学习并运用到您的应用程序中。如果您知道如何提取大型数据集、训练现有的模型、构建新模型以及执行推理,说明您已经为未来做好了准备!

新推出 Deep Learning Containers

今天我将向大家介绍新推出的 AWS Deep Learning Containers。这些 Docker 映像可以随时与 TensorFlow 或 Apache MXNet 配合使用以进行深度学习训练或推理,对其他框架的支持也将很快推出。客户告诉我们,他们正在使用 Amazon EKS 和 ECS 将 TensorFlow 工作负载部署到云中,并要求我们让这一任务变得尽可能简单直接,为此我们构建了这些容器。虽然我们已经做到了客户的要求,但仍对这些映像进行优化以在便于在 AWS 上使用,希望能够减少训练时间,提高推理性能。


这些映像已经过预先配置和验证,让您可以在几分钟内完成 Amazon ECS、Amazon Elastic Container Service for Kubernetes 和 Amazon Elastic Compute Cloud (EC2) 上的自定义环境和工作流程设置,从而专注于深度学习! 您可以在 AWS Marketplace 和 Elastic Container Registry 找到它们并免费使用。这些映像可以照原样使用,也可以通过添加额外的库或文件包进行自定义。


现提供多种 Deep Learning Containers,具体名称取决于下列因素(并非所有组合都可使用):


  • 框架 – TensorFlow 或 MXNet。

  • 模式 – 训练或推理。您可以在单个节点上或多节点集群上进行训练。

  • 环境 – CPU 或 GPU。

  • Python 版本 – 2.7 或 3.6。

  • 分布式训练 – Horovod 框架的可用性。

  • 操作系统 – Ubuntu 16.04。

Deep Learning Containers 的使用

为了使用 AWS Deep Learning Container,我使用一个 p2.8xlarge 实例创建了一个 Amazon ECS 集群:


$ aws ec2 run-instances --image-id  ami-0ebf2c738e66321e6 \  --count 1 --instance-type p2.8xlarge \  --key-name keys-jbarr-us-east ... 
复制代码


我验证了该集群正在运行,并确认 ECS 容器代理已激活:



然后我在一个文本文件 (gpu_task_def.txt) 中创建了一条任务定义:


{  "requiresCompatibilities": [    "EC2"  ],  "containerDefinitions": [    {      "command": [        "tensorflow_model_server --port=8500 --rest_api_port=8501 --model_name=saved_model_half_plus_two_gpu  --model_base_path=/models/saved_model_half_plus_two_gpu"      ],      "entryPoint": [        "sh",        "-c"      ],      "name": "EC2TFInference",      "image": "841569659894.dkr.ecr.us-east-1.amazonaws.com/sample_tf_inference_images:gpu_with_half_plus_two_model",      "memory": 8111,      "cpu": 256,      "resourceRequirements": [        {          "type": "GPU",          "value": "1"        }      ],      "essential": true,      "portMappings": [        {          "hostPort": 8500,          "protocol": "tcp",          "containerPort": 8500        },        {          "hostPort": 8501,          "protocol": "tcp",          "containerPort": 8501        },        {          "containerPort": 80,          "protocol": "tcp"        }      ],      "logConfiguration": {        "logDriver": "awslogs",        "options": {          "awslogs-group": "/ecs/TFInference",          "awslogs-region": "us-east-1",          "awslogs-stream-prefix": "ecs"        }      }    }  ],  "volumes": [],  "networkMode": "bridge",  "placementConstraints": [],  "family": "Ec2TFInference"}
复制代码


我注册了该任务定义,然后记住了修订版次 (3):



然后,我使用该任务定义和修订版次创建了一个服务:



我通过控制台导航至该任务:



然后我找到了端口 8501 的外部链接:



然后我运行了三个推理(此特定模型使用如下函数进行训练:y = ax + b,其中 a = 0.5,b = 2):


$ curl -d '{"instances": [1.0, 2.0, 5.0]}' \  -X POST http://xx.xxx.xx.xx:8501/v1/models/saved_model_half_plus_two_gpu:predict{    "predictions": [2.5, 3.0, 4.5    ]}
复制代码


正如您可以看出,推理预测输入值为 1.0、2.0 和 5.0 时,值将为 2.5、3.0 和 4.5。这是一个非常非常简单的示例,但也很好地说明了通过 Deep Learning Containers,在 ECS 中使用预先训练的模型来执行推理的方法。您还可以启动用于训练用途的模型,执行训练,然后运行一些推理。


作者介绍:


Jeff Barr


AWS 首席布道师; 2004 年开始发布博客,此后便笔耕不辍。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/new-aws-deep-learning-containers/


2019-10-05 22:12570
用户头像

发布了 1834 篇内容, 共 91.4 次阅读, 收获喜欢 73 次。

关注

评论

发布
暂无评论
发现更多内容

.NET分布式Orleans - 2 - Grain的通信原理与定义

不在线第一只蜗牛

.net 分布式 WPF

SDN与SD-WAN的定义和区别

Ogcloud

SD-WAN SDN架构 SDN网络 SD-WAN组网 SDWAN

利用云手机高效运营多个海外社媒账户

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机 社媒运营

在Python中使用Kafka帮助我们处理数据

技术冰糖葫芦

API 接口 API 测试

说一说Java中的四种引用类型?

快乐非自愿限量之名

Java 开发 引用

是时候来唠一唠synchronized关键字了,Java多线程的必问考点!

EquatorCoco

Java 多线程

Web3.0热门领域NFT项目实战数字平台艺术

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

全栈开发与自动化测试高薪私教班,手把手带你拿到高薪Offer

测试人

软件测试

利用云手机技术,开拓海外社交市场

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机 社交营销

ATX技术应用:了解并掌握ATX技术实现自动化测试

测吧(北京)科技有限公司

测试

软件测试学习笔记丨Allure2报告中添加用例优先级

测试人

软件测试

DevOps与低代码

都广科技

DevOps

离散型制造业生产管理MES系统

万界星空科技

制造业 mes 万界星空科技 离散型制造业

如何应用生成式AI打造制造业增长新引擎

财见

离散型制造业的特点与万界星空科技低代码MES系统

万界星空科技

工业互联网 制造业 mes 万界星空科技

软件测试学习笔记丨Allure2报告中添加用例描述

测试人

软件测试

思维导图助力需求分析与测试用例设计

测吧(北京)科技有限公司

测试

西安交易所开发:打造区块链交易系统的DApp开发

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

走在前、做示范,苏州农商银行携华为云完成超级网银系统改造

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

便捷App测试:安卓模拟器与开发者选项提高测试效率

测吧(北京)科技有限公司

测试

解决App自动化测试中的弹窗问题:常见解决方案

测吧(北京)科技有限公司

测试

采用Page Object(PO)设计模式编写自动化测试用例

测吧(北京)科技有限公司

测试

采用PO设计模式编写自动化测试用例

测吧(北京)科技有限公司

测试

零售商品计划新篇章:智能管理系统的挑战与机遇

第七在线

React Native 应用打包上架

自动生成测试报告:PO设计模式结合Allure生成详尽测试报告

测吧(北京)科技有限公司

测试

利用Airtest技术实现基于图像识别的自动化测试

测吧(北京)科技有限公司

测试

ADB命令操作:简便连接设备、传输文件、安装App、日志分析

测吧(北京)科技有限公司

测试

定制化区块链交易所开发:Dapp、DeFi和IDO的全方位解决方案

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

利用Allure与截图技术生成详尽测试报告

测吧(北京)科技有限公司

测试

阐述区块链“链游”项目3D/2D模式系统开发

区块链软件开发推广运营

区块链游戏 dapp开发 链游开发 NFT开发 公链开发

AWS Deep Learning Containers_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章