HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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:12661
用户头像

发布了 1848 篇内容, 共 113.9 次阅读, 收获喜欢 78 次。

关注

评论

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

什么是数据湖?全面解读数据湖与数据仓库的区别

雨果

数据中台 数据仓库 数据湖 DaaS数据即服务

2022年全年Java岗面试题总结+一线互联网大厂Java岗面经/面试题总结!

程序员小毕

Java 程序员 面试 程序人生 后端

NFT艺术品交易平台:有哪些功能?

开源直播系统源码

NFT 数字藏品 数字藏品软件

博云 Kubernetes 开源榜单贡献度进入全球前十

BoCloud博云

云计算 开源 云原生

【荣耀开发者服务平台—百亿曝光扶持等你来】智慧服务快应用卡片接入指南(上)

荣耀开发者服务平台

JavaScript 前端 UI 安卓 honor

字节跳动 DanceCC 工具链系列之Xcode LLDB耗时监控统计方案

字节跳动终端技术

ios xcode swift LLVM 客户端

字节跳动A/B实验背后的秘密:样本量计算

字节跳动数据平台

数据分析 前端 ab测试 统计原理

华为云WeLink助力平房区打造智慧政务办公

科技怪咖

实战Elasticsearch6的join类型

程序员欣宸

elasticsearch 9月月更

leetcode 101. Symmetric Tree 对称二叉树(简单)

okokabcd

LeetCode 算法与数据结构

广东省湛江市等保测评机构有几家?怎么做?

行云管家

等保 等级保护 等保测评 湛江

测试平台解决了什么问题?

老张

测试平台

一加现在属于OPPO吗 资深“加油”来解答

Geek_8a195c

博弈论(depu)与孙子兵法-02(46/100)

hackstoic

博弈论

Dubbo Mesh - 从服务框架到统一服务控制平台

阿里巴巴云原生

阿里云 开源 微服务 云原生 dubbo

大众CEO迪斯提前卸任,成败皆因软件

雨果

软件定义汽车

如何在 Jenkins CI/CD 流水线中保护密钥?

SEAL安全

DevOps jenkins CI/CD 密钥管理 CI/CD管道

Python 教程之数据分析(5)—— 使用 Python 进行数据分析和可视化 | 第 2 套

海拥(haiyong.site)

Python 9月月更

Python 教程之数据分析(6)—— 数据分析的数学运算

海拥(haiyong.site)

Python 9月月更

数据可视化系列教程之组件通信

云智慧AIOps社区

前端 JavaScrip 可视化数据

字节前端必会面试题

helloworld1024fd

JavaScript

校招前端面试题

夏天的味道123

JavaScript 前端

“数智化”时代 ,房企转型路径与挑战的一种技术思路

Speedoooo

小程序 前端开发 数字化转型 移动开发 小程序容器

直播预告 | PolarDB-X 动手实践系列——PolarDB-X 数据导入导出功能

阿里云数据库开源

MySQL 数据库 阿里云 云原生 PolarDB-X

源码 | SpringBoot启动流程大揭秘

六月的雨在InfoQ

源码 springboot SpringBoot实战 9月月更 SpringBoot启动流程

离谱了!京东T7手写「并发编程知识手册」,从原理到项目实战详解

了不起的程序猿

Java 并发编程 java程序员 java面试 java编程

软件测试 | 测试开发 | 测试人员必须掌握的测试用例

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

测试 测试用例

LED显示屏是否可以实现智能化控制

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

高并发下的网络 IO 模型设计

C++后台开发

后台开发 reactor 高并发 epoll 网络io模型

基于Hudi的湖仓一体技术在Shopee的实践

Shopee技术团队

Hudi LakeHouse 湖仓一体

软件测试 | 测试开发 | 一文搞定 uiautomator2 自动化测试工具使用

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

测试 自动化测试

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