TonY - 构建在 Hadoop YARN 上的 TensorFlow 框架​​​​​​​


BSD
跨平台
Java

软件简介

TensorFlow on YARN (TonY) 是一个构建在 Hadoop YARN 上的 TensorFlow 框架。

TonY 可以将单节点或分布式 TensorFlow 训练作为 Hadoop 应用程序运行。此原生连接器与其他 TonY 功能一起,旨在可靠,灵活地运行
TensorFlow 训练。


在 YARN 的 TonY 上运行 TensorFlow


TonY 的架构

TonY 主要包含三个要素:Client、ApplicationMaster 和 TaskExecutor。运行 TonY 作业的端到端处理过程如下:

  1. 用户向 Client 提交 TensorFlow 模型训练代码、参数及其 Python 虚拟环境(包含 TensorFlow 依赖)。

  2. Client 设置 ApplicationMaster(AM)并将其提交给 YARN 集群。

  3. AM 与 YARN 基于用户资源请求的资源管理(Resource Manager)进行资源协商(参数服务器及线程、内存和 GPU 的数量)。

  4. 一旦 AM 收到分配,它就会在分配的节点上生成 TaskExecutor。

  5. TaskExecutor 启动用户的训练代码并等待其完成。

  6. 用户的训练代码启动,TonY 定期在 TaskExecutor 和 AM 之间跳动,以检查其活性。