Daniel Whitenack在最近举行的北美2017 KubeCon+CloudNativeCon大会上分享了如何使用TensorFlow和Kubernetes进行基于GPU的深度学习。html
他以物体检测为例子介绍了一种典型的人工智能工做流程。该工做流程包括预处理、模型训练、模型生成和模型推理。这些步骤均可以运行在Docker容器里。linux
模型训练通常是经过框架来完成的,如TensorFlow或Caffe。在这一阶段,GPU可用于帮助提高性能。深度学习在使用TensorFlow或其余框架时,须要借助GPU在图像数据上训练模型。数据库
模型训练能够运行在Kubernetes集群的GPU节点上。Kubernetes为多GPU节点提供了一个很是好的框架,按照以下步骤可实现更好的工做流:框架
该工做流程也能够用于跟踪哪一个版本的代码和数据产生了哪些结果(用于调试、维护和合规的目的)。机器学习
Kubernetes为此提供了基础支持,也由于它具有了可移植性和可伸缩性,因此很是适用于机器学习项目。分布式
Whitenack介绍了一个叫做Pachyderm的开源项目,它支持数据管道,并为Kubernetes提供了数据管理层。工做流中通常会包含多个数据预处理和后处理做业。Pachyderm提供了统一的框架用于调度多步骤工做流、数据管理和向GPU分配工做负载。性能
Pachyderm框架的特性包括:学习
Whitenack在现场进行了演示,使用Pachyderm和Kubernetes实现了一个AI工做流。示例应用程序实现了图像到图像的转换,将卫星图自动转成地图。他在例子中使用TensorFlow进行模型训练和推理。ui
若是读者对Pachyderm框架感兴趣,能够参考机器学习示例、开发者文档、Kubernetes GPU文档,或者直接加入Slack通道。人工智能
查看英文原文:Building GPU Accelerated Workflows with TensorFlow and Kubernetes