猿问

使用 Session.run 在 Tensorflow 代码中进行并行编程

我正在尝试在我的 Tensorflow 代码中实现分布式执行。我创建了一个简单的例子。当我运行它时,该程序不会产生任何结果。我的猜测是我的 Linux 系统的主机位置设置不正确。


import tensorflow as tf



cluster = tf.train.ClusterSpec({"local": ["localhost:2222", "localhost:2223"]})


x = tf.constant(2)



with tf.device("/job:local/task:1"):

    y2 = x - 66


with tf.device("/job:local/task:0"):

    y1 = x + 300

    y = y1 + y2



with tf.Session("grpc://localhost:2222") as sess:

    result = sess.run(y)

    print(result) 


梵蒂冈之花
浏览 117回答 1
1回答

牛魔王的故事

在运行上面的会话之前,需要使用另一个脚本(python tfserver.py 0& python tfserver.py 1)启动 2 个工作进程。localhost此外,由于集群中的一些限制,我必须替换为实际的服务器名称。# Get task number from command lineimport systask_number = int(sys.argv[1])import tensorflow as tfcluster = tf.train.ClusterSpec({"local": ["localhost:2222", "localhost:2223"]})server = tf.train.Server(cluster, job_name="local", task_index=task_number)print("Starting server #{}".format(task_number))server.start()server.join()
随时随地看视频慕课网APP

相关分类

Python
我要回答