报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

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

关注

评论

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

SRv6性能测量

穿过生命散发芬芳

8月月更 SRv6

每天一个CSS小特效,文字闪烁——【钢铁侠:爱你三千遍】

前端小刘不怕牛牛

JavaScript html/css 8月月更

RocketMQ Binder集成消息订阅

急需上岸的小谢

8月月更

Kubernetes 60个为什么

CTO技术共享

开源 签约计划第三季 8月月更

2022秋招前端面试题(九)(附答案)

helloworld1024fd

呵呵,JavaScript 真好玩(苦笑脸)

掘金安东尼

JavaScript 前端 8月月更

STM32封装ESP8266一键配置函数:实现实现AP模式和STA模式切换、服务器与客户端创建

DS小龙哥

8月月更

Kubernetes 开发环境比对

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes服务接入Istio

CTO技术共享

开源 签约计划第三季 8月月更

你有对象类,我有结构体,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang结构体(struct)的使用EP06

刘悦的技术博客

Go golang 编程语言 Go web golang 面试

短视频软件开发——平台同质化如何破局

开源直播系统源码

软件开发 直播源码 短视频直播源码 短视频直播系统源码

前端食堂技术周刊第 47 期:Docusaurus 2.0 、7 月登陆网络平台的新内容 、Nuxt.js 团队的轮子库

童欧巴

JavaScript 前端

数据库治理利器:动态读写分离

阿里巴巴云原生

数据库 阿里云 微服务 云原生

Linux服务器端网络抓包和分析实战

程序员欣宸

Java Linux 8月月更

是什么影响了MySQL性能?

TimeFriends

8月月更

《MySQL入门很轻松》第4章:数据表中存放的数据类型

乌龟哥哥

8月月更

程序员从佩洛西窜访事件中可以学到什么?

慕枫技术笔记

思维 构架 8月月更

一文教会你快速上手 Vim

昆吾kw

vim Linux

如何正确理解线程机制中常见的I/O模型,各自主要用来解决什么问题?

PivotalCloud

Linux Linux Kenel

打工人的第27天-平凡但不平淡的日子

Amazing_eve

#开源

谷歌数据中心发生“电力事故”造成 3 人受伤

雨果

数据中心 谷歌

781. 森林中的兔子

小卢要刷力扣题

力扣 8月月更

什么是服务治理

阿泽🧸

服务治理 8月月更

Kubernetes YAML编写 讲解

CTO技术共享

开源 签约计划第三季 8月月更

数据治理(五):元数据管理

Lansonli

大数据 数据治理 8月月更

面试突击73:IoC 和 DI 有什么区别?

王磊

Java 常见面试题

学Python爬虫,不看看m3u8文件如何加密?i春秋 m3u8 文件加密解析

梦想橡皮擦

Python 爬虫 8月月更

2022秋招前端面试题(十)(附答案)

helloworld1024fd

8月份DB-Engines 数据库排行榜最新战况

雨果

数据库

10min快速回顾C++语法(一)

timerring

c++ 算法 8月月更

头脑风暴:单词拆分

HelloWorld杰少

算法 LeetCode 数据结构, 8月月更

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