我想在多台机器,多个gpu上运行tensorflow。作为第一步,在单机上试用分布式tensorflow(遵循tensorflow教程https://www.tensorflow.org/how_tos/distributed/)
下面是后面的行sess.运行()口吃
import tensorflow as tf
cluster = tf.train.ClusterSpec({"local": ["localhost:2222", "localhost:2223"]})
server = tf.train.Server(cluster, job_name="local", task_index=0)
a = tf.constant(8)
b = tf.constant(9)
sess = tf.Session('grpc://localhost:2222')
在这里一切都很好,但是当我跑步的时候sess.运行(),它嘎嘎作响。在
^{pr2}$如果有人已经在分布式tensorflow上工作过,请让我知道解决方案或其他教程哪个工作得很好。在
默认情况下,分布式TensorFlow将阻塞,直到^{} 中命名的所有服务器都已启动。这发生在与服务器的第一次交互期间,通常是第一次
sess.run()
调用。因此,如果您还没有启动监听localhost:2223
的服务器,那么TensorFlow将阻塞,直到您启动为止。在根据您以后的目标,有几种解决方案:
在
localhost:2223
上启动服务器。在另一个进程中,运行以下脚本:从原始
tf.train.ClusterSpec
中删除任务1:创建^{} 时指定“设备筛选器”,以便会话仅使用任务0。在
相关问题 更多 >
编程相关推荐