写点什么

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

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

关注

评论

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

没事-2022继续做梦

将军-技术演讲力教练

大公司生存的几把斧

圣迪

人才 组织 战略 大公司 技术委员会

追热点

张老蔫

28天写作

重载(overload) 和重写(override) 的区别?重载的方法能否根据返回类型进行区分?

海拥(haiyong.site)

28天写作 12月日更

写博客的感想

为自己带盐

28天写作 12月日更

利用 Github Pages 和 Hugo 快速搭建免费的个人网站

xcbeyond

GitHub Pages Hugo 28天写作 12月日更

全链路压测系列(二):方案调研和项目立项

老张

性能测试 全链路压测

设计千万级学生管理系统的考试试卷存储方案

ren

#架构实战营

代码实验01:main 方法可以继承吗?

Seven的代码实验室

阿里二面 main方法

GraphQL与REST:两种API架构

devpoint

graphql REST API 12月日更

全链路压测系列(一):认识全链路压测

老张

性能测试 全链路压测

56 K8S之Kubernetes监控

穿过生命散发芬芳

k8s 28天写作 12月日更

Timsort - 混合、稳定、高效的排序算法

Geek漫游指南

算法 排序 插入排序 归并排序 Timosrt

Golang中的runtime包

liuzhen007

28天写作 12月日更

语音信号的时域分析

轻口味

28天写作 12月日更

.NET6新东西---TryGetNonEnumeratedCount

喵叔

28天写作 12月日更

Docker Rootless 在非特权模式下运行 Docker

Se7en

跟着动画学 Go 数据结构之Go 实现栈

宇宙之一粟

Go 语言 12月日更

微服务划分的思考

无心水

微服务 微服务架构 SpringCloud 注册中心 微服务划分

发射、加速与着陆:一群科学家的奥林帕斯探索之旅

脑极体

Springboot国际化消息和源码解读

DoneSpeak

Java spring springboot

Tinder系统架构

俞凡

架构 大厂实践 Tinder

HarmonyOS(鸿蒙)——滑动事件

李子捌

28天写作 21天挑战 12月日更

【CSS 学习总结】第六篇 - CSS 布局概述

Brave

CSS 12月日更

全链路压测系列(三):技术改造和测试验证

老张

性能测试 全链路压测

关于分布式系统共识的思考

yuexin_tech

分布式

Reactor模式和Java NIO

Java·课代表

Java reactor 设计模式 网络编程 nio

介绍一些拉新的具体方案

石云升

AARRR 28天写作 产品增长 12月日更

学生管理系统详细架构设计

swallowluo

架构实战营 「架构实战营」

模块三作业

浮生若梦

「架构实战营」

盘点 2021|海军的 2021年终总结, 跳槽后,我收获了什么

程序员海军

年终总结 2021年度技术盘点与展望

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