【问题标题】:Does tf.train.MonitoredTrainingSession() support GRPC?tf.train.MonitoredTrainingSession() 是否支持 GRPC?
【发布时间】:2017-03-29 20:42:41
【问题描述】:

我们需要使用分布式 Tensorflow 中的“Between-graph Replication”定义多个客户端(每个客户端都创建和构建 Tensorflow 会话/图)。通常,客户端和工作人员在同一个进程中,tf.train.MonitoredTrainingSession() 协调这些 Tensorflow 会话。

现在如果每个客户端和worker不在同一个进程中,并且我希望客户端使用grpc来远程驱动worker任务,我想知道tf.train.MonitoredTrainingSession()或某些API是否支持此功能,或者是否有人有任何其他解决方案或想法。 (我知道tf.Session(<grpc_url>)支持grpc,但不协调多个Tensorflow Session)

【问题讨论】:

    标签: python session tensorflow distributed grpc


    【解决方案1】:

    是的,tf.train.MonitoredTrainingSession 可以使用 gRPC。但是,您必须手动创建tf.train.Server 对象(通常每个进程一个),如Distributed TensorFlow tutorial 所示。

    创建tf.train.Server 后,为分布式训练配置tf.train.MonitoredTrainingSession 的最常用方法是调用tf.train.MonitoredTrainingSession(master=server.target),其中server"worker" 作业中的服务器之一。

    【讨论】:

    • 感谢您的回答!但对我来说似乎仍然不清楚。基本上,我想MonitoredTrainingSession 在创建和启动 tf 会话时出现在客户端。由于我将 grpc 与“Between-graph Replication”一起使用,并且每个客户端都是 worker 的单独进程,我想知道 worker 和客户端代码的样子(我想 worker 创建服务器对象。但是 MonitoredTrainingSession 出现在客户端进程中它使用了那个 obj,这是否意味着我需要在客户端创建另一个相同的服务器 obj?)另外,tf.train.MonitoredTrainingSession 如何判断会话是否正在使用 grpc 运行?
    猜你喜欢
    • 1970-01-01
    • 2019-10-07
    • 2017-10-04
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2017-08-01
    相关资源
    最近更新 更多