写点什么

使用 TensorFlow 和 Kubernetes 构建 GPU 加速工作流

  • 2018-01-10
  • 本文字数:832 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Daniel Whitenack 在最近举行的北美 2017 KubeCon+CloudNativeCon 大会上分享了如何使用 TensorFlow 和 Kubernetes 进行基于 GPU 的深度学习。

他以物体检测为例子介绍了一种典型的人工智能工作流程。该工作流程包括预处理、模型训练、模型生成和模型推理。这些步骤都可以运行在 Docker 容器里。

模型训练一般是通过框架来完成的,如 TensorFlow 或 Caffe。在这一阶段,GPU 可用于帮助提升性能。深度学习在使用 TensorFlow 或其他框架时,需要借助 GPU 在图像数据上训练模型。

模型训练可以运行在 Kubernetes 集群的 GPU 节点上。Kubernetes 为多 GPU 节点提供了一个非常好的框架,按照如下步骤可实现更好的工作流:

  • 将数据正确地分配代码(pod)。

  • 在正确的节点上处理数据。

  • 在正确的时间触发正确的代码。

该工作流程也可以用于跟踪哪个版本的代码和数据产生了哪些结果(用于调试、维护和合规的目的)。

Kubernetes 为此提供了基础支持,也因为它具备了可移植性和可伸缩性,所以非常适用于机器学习项目。

Whitenack 介绍了一个叫作 Pachyderm 的开源项目,它支持数据管道,并为 Kubernetes 提供了数据管理层。工作流中一般会包含多个数据预处理和后处理作业。Pachyderm 提供了统一的框架用于调度多步骤工作流、数据管理和向 GPU 分配工作负载。

Pachyderm 框架的特性包括:

  • 数据版本:版本化的数据可存储在 Amazon S3 数据库里。

  • 用于分析的容器。

  • 分布式管道或数据处理 DAG。

  • 数据监管:可用于合规和调试。

Whitenack 在现场进行了演示,使用 Pachyderm 和 Kubernetes 实现了一个 AI 工作流。示例应用程序实现了图像到图像的转换,将卫星图自动转成地图。他在例子中使用 TensorFlow 进行模型训练和推理。

如果读者对 Pachyderm 框架感兴趣,可以参考机器学习示例开发者文档 Kubernetes GPU 文档,或者直接加入 Slack 通道

查看英文原文 Building GPU Accelerated Workflows with TensorFlow and Kubernetes

2018-01-10 18:003319
用户头像

发布了 322 篇内容, 共 154.0 次阅读, 收获喜欢 148 次。

关注

评论

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

第 9 章 -《Linux 一学就会》-文件的归档和压缩 tar---zip

学神来啦

Linux 运维 linux学习

《写给互联网工程师的5G书》全文pdf开放下载

俞凡

架构 5G 网络 通信 10月月更

聊一聊差分放大器

不脱发的程序猿

嵌入式 电路设计 硬件开发 运算放大器

1. 滚雪球学Python第四季开启,一需三吃,Python 函数式编程初识,面向过程,面向对象,函数式

梦想橡皮擦

10月月更

003云原生之架构原则

穿过生命散发芬芳

云原生 10月月更

管理者如何带团队?

石云升

团队管理 管理 引航计划 内容合集 10月月更

学生管理系统 - 考试试卷存储方案

紫云

软件架构之原则、风格和实践

俞凡

架构

上次写作还是在上次之——WebRTC(一)

Zoomdaa

WebRTC

javaweb springboot汽车租赁系统源码

清风

源码 springboot 计算机毕业设计

细说包管理器yarn和npm

devpoint

npm YARN Node 10月月更

SpringMVC源码分析-HandlerAdapter(4)-ModelAndViewContain组件分析

Brave

源码 springmvc 10月月更

【LeetCode】删除无效的括号Java题解

Albert

算法 LeetCode 10月月更

独一无二的「MySQL调优金字塔」相信也许你拥有了它,你就很可能拥有了全世界。

码界西柚

性能优化 后端 MySQL 数据库 引航计划 10月月更

数据结构与算法 - 复杂度

小马哥

数据结构与算法 日更

🏆【Spring技术专题】「动态代理技术」Spring框架中Aspectj和LoadTimeWeaving的动态代理技术实现指南

码界西柚

spring aop 动态代理 LTW 10月月更

老式月饼是一块坚硬的乡愁

石君

自我成长 乡愁

9月,一些感慨

程序员架构进阶

自我提升 管理者 软技能 总结思考 10月月更

【LeetCode】 旅行终点站Java题解

Albert

算法 LeetCode 10月月更

微博系统中”微博评论“的高性能高可用计算架构

michael

#架构实战营

Object.defineProperty的缺点及Vue3为什么用Proxy

wudaxue

【Flutter 专题】三步搞定会转的饼状图

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 引航计划 10月月更

容器 & 服务:Helm Charts(一)

程序员架构进阶

架构 Kubernetes 容器 Helm Charts 10月月更

在线心语日历批量生成工具

入门小站

工具

【云原生】:一文读懂Docker核心技术

息之

Docker 云原生

004云原生之服务化架构

穿过生命散发芬芳

云原生 10月月更

Minerva -- Airbnb的大规模数据指标系统 Part 3

俞凡

架构 Airbnb 大厂实践 指标 10月月更

如何应对员工犯错?

石云升

项目管理 管理 引航计划 内容合集 10月月更

springboot vue失物招领网站源码

清风

源码 Vue springboot java 计算机毕业设计

linux手误rm可能不需要跑路

入门小站

Linux

2. Python函数式编程中的字符串,元组,函数的分类,高阶函数,一篇文章都介绍一遍

梦想橡皮擦

10月月更

使用TensorFlow和Kubernetes构建GPU加速工作流_语言 & 开发_Srini Penchikala_InfoQ精选文章