Distributed tensorflow术语表

来源:互联网 发布:java处理xml 编辑:程序博客网 时间:2024/06/06 02:20

获得更多深度学习在NLP方面应用的经典论文、实践经验和最新消息,欢迎关注微信公众号“DeepLearning_NLP” 或者扫描头像二维码添加关注。

客户端(Client):

客户端是一个程序,用于建立一个tensorflow图,构造一个tensorflow::Session来与集群交互。客户端主要用pythonc++编写。一个单客户端进程可以直接与多个tensorflow servers交互(看Replicatedtraining),一个单server也可以为多个客户端服务。

集群(Cluster:

一个tensorflow集群包含一个或多个jobs,每个工作可以被分解为一个或多个工作列表。一个集群通常效力于一个具体的高级别的任务,比如,多机并行训练一个神经网络。一个集群由一个tf.train.ClusterSpec目标函数定义。

作业(Job):

一个作业由一系列任务task组成,每个task为实现一个常见目标。比如,名为ps(parameter server)的job是用于控制存储和更新变量参数的节点;但名为worker的节点通常控制那些无所属的节点执行计算量大的任务。这些任务通常在不同机器上执行。作业对象的集合通常很灵活,比如说,一个worker可能维护一些状态。

核心服务(Masterservice):

是一个RPC服务,为分布式设备之间提供远端通信服务,充当一个session目标的角色。核心设备实现了tensorflow::Session接口,负责协调一个或多个worker services之间一致性。所有的tensorflow servers都实现核心服务。

任务(task):

一个任务task与一个具体的tensorflow服务相关,特别是,与一个具体的单进程相关。一个task隶属于一个具体的作业job,且通过它自己作业列表里index区分。

TensorFlow服务(TensorFlowserver):

一个运行的tf.train.Server 进程实例,属于集群的一个成员,输出一个"masterservice"和一个"worker service"

工作服务(Workerservice):

一个使用本地设备执行图的一部分的RPC服务。一个Workerservice 实现了worker_service.proto。所有的TensorFlowserver都执行worker service

1 0