在Tensorflow 1.x中,有一种使用tf.contrib.distribute.DistributeConfig将Estimator连接到远程集群的方法,如Tensorflow生态系统存储库中的this example code所示。
Tensorflow 2.0引入了实验性MultiWorkerMirroredStrategy,并更改了Runconfig
的实现,以使用TF_CONFIG
环境变量来设置集群。但是,这要求当前执行的代码成为该集群的一部分,即task
必须在TF_CONFIG
中设置。如果您尝试将客户端计算机连接到远程群集,那么这当然没有任何意义。
有人知道Tensorflow 2.0是否有等效的方法来实现这一目标吗?我一直在寻找时间,而我能想到的最好的办法是通过调用tf.compat.v1.Session('grpc://[cluster-ip]:[cluster-port]')
进行连接,然后使用v1
compat API进行设置。这不理想,因为我们不仅使用了已弃用的API,而且似乎失去了在多个工作线程之间分发的功能(Session
一次仅连接到一个节点)。