我们需要使用" Between-graph Replication"定义多个客户端(每个客户端创建和构建Tensorflow会话/图表)。在分布式Tensorflow中。通常,客户端和工作人员处于同一个进程中,tf.train.MonitoredTrainingSession()
协调这些Tensorflow会话。
现在,如果每个客户端和工作人员不在同一个进程中,并且我希望客户端使用grpc远程驱动工作人员任务,我想知道tf.train.MonitoredTrainingSession()
或某些API是否支持此功能,或者是否有人有任何其他解决方案或想法。 (我知道tf.Session(<grpc_url>)
支持grpc,但它不协调多个Tensorflow会话)
答案 0 :(得分: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"
工作。