TensorFlow 分布式集群

本文介绍如何使用两台机器搭建TensorFlow分布式集群。通过编写server程序在两台机器上启动集群节点,并通过client程序提交任务进行矩阵运算。文中提供了server1.py、server2.py及client.py的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇博客说了怎样创建一个 Local Server 的集群,今天说说怎样创建一个真正的分布式集群。

我们准备了两个机器,如下:

192.168.0.192
192.168.0.193

我们将使用这两个机器来组成一个集群,然后把 tensorflow task 扔到其中的某个节点上运行。

  • 我们准备了两个 server 程序,用来分别在两个机器上启动来组成一个集群,并接收task。
  • 创建一个 client 程序,用来向集群提交 task。

server1.py

import sys
import time
import tensorflow as tf

try:
    worker1 = "192.168.0.192:8881"
    worker2 = "192.168.0.193:8881"
    worker_hosts = [worker1, worker2]
    cluster_spec = tf.train.ClusterSpec({ "worker": worker_hosts})
    server = tf.train.Server(cluster_spec, job_name="worker", task_index=0)
    server.join()
except KeyboardInterrupt:
    sys.exit()

server2.py

import sys
import time
import tensorflow as tf

try:
    worker1 = "192.168.0.192:8881"
    worker2 = "192.168.0.193:8881"
    worker_hosts = [worker1, worker2]
    cluster_spec = tf.train.ClusterSpec({ "worker": worker_hosts})
    server = tf.train.Server(cluster_spec, job_name="worker", task_index=1)
    server.join()
except KeyboardInterrupt:
    sys.exit()

client.py

import tensorflow as tf
with tf.Session("grpc://192.168.0.192:8881") as session:
    with tf.device("/job:worker/task:0"):
        matrix1 = tf.constant([[3., 3.]])
        matrix2 = tf.constant([[2.],[2.]])
        product = tf.matmul(matrix1, matrix2)
        result = session.run(product)
        print result

测试

  • 在 192.168.0.192 上运行 “python server1.py”
  • 在 192.168.0.193 上运行 “python server2.py”
  • 在任意一台机器上运行 “python client.py”
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值