You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:如何在分布式TensorFlow中运行MNIST线性分类模型

如何运行分布式TensorFlow MNIST分类模型

咱们一步步来搞定这个分布式模型的运行,其实核心就是把各个节点按顺序启动起来就行,我给你拆解清楚:

1. 先确认基础准备

  • 确保你已经安装了和代码依赖匹配的TensorFlow版本
  • 把dist_minst_softmax.py文件放在当前工作目录下,方便终端直接调用

2. 补全并理解命令参数

你给出的命令后面截断了,完整的worker_hosts应该是类似localhost:2224,localhost:2225这样的格式。这里的参数分别是:

  • --ps_hosts: 指定参数服务器(Parameter Server)的地址列表,这里用了本地的2222、2223两个端口
  • --worker_hosts: 指定工作节点(Worker)的地址列表,对应本地的2224、2225两个端口

3. 分终端启动各个节点

分布式TensorFlow需要分别启动每个角色的节点,一定要先启动参数服务器,再启动工作节点,不然worker会因连不上ps报错。你需要打开4个终端窗口(每个节点对应一个):

启动参数服务器(PS)节点

  • 第一个终端(PS 0):
    python dist_minst_softmax.py --ps_hosts=localhost:2222,localhost:2223 --worker_hosts=localhost:2224,localhost:2225 --job_name=ps --task_index=0
    
  • 第二个终端(PS 1):
    python dist_minst_softmax.py --ps_hosts=localhost:2222,localhost:2223 --worker_hosts=localhost:2224,localhost:2225 --job_name=ps --task_index=1
    

启动工作节点(Worker)

  • 第三个终端(Worker 0):
    python dist_minst_softmax.py --ps_hosts=localhost:2222,localhost:2223 --worker_hosts=localhost:2224,localhost:2225 --job_name=worker --task_index=0
    
  • 第四个终端(Worker 1):
    python dist_minst_softmax.py --ps_hosts=localhost:2222,localhost:2223 --worker_hosts=localhost:2224,localhost:2225 --job_name=worker --task_index=1
    

4. 关键参数解释

新增的两个参数是核心:

  • --job_name: 告诉脚本当前节点是参数服务器(ps)还是工作节点(worker)
  • --task_index: 标记当前节点在同角色节点中的序号,从0开始计数

5. 注意事项

  • 如果提示端口被占用,直接把所有端口换成其他未被使用的(比如3332、3333、3334、3335)就行
  • 如果是在多台机器上运行,把localhost换成对应机器的IP地址,同时要确保机器之间网络互通,端口没有被防火墙拦截
  • 启动后,worker节点会输出训练日志(比如损失值、准确率),等训练结束就完成啦

内容的提问来源于stack exchange,提问作者John Kleve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:08:56