【问题标题】:How to run TensorFlow on multiple nodes with several CPUs each如何在每个具有多个 CPU 的多个节点上运行 TensorFlow
【发布时间】:2019-01-14 11:49:29
【问题描述】:

我想使用 TensorFlow 在非常大的数据集上运行线性回归。我有一个集群,每个集群有 9 个节点和 36 个 CPU。在所有可用资源中分配计算的最佳方式是什么?

根据本课程https://www.coursera.org/learn/intro-tensorflow,在分布式设置中使用 TensorFlow 的最佳方法是使用 Estimators。所以我按照那里的建议编写了我的代码,并按照https://www.tensorflow.org/deploy/distributed 的说明进行并行化。然后我尝试在节点 2 和 3 上运行我的脚本my_code.py(在一个“小型”数据集上,其中包含 1.2 亿个数据点和 2 个特征列来测试代码),如下所示:

python my_code.py \ 
--ps_hosts=node1:2222 \
--worker_hosts=node2:2222,node3:2222
--job_name=worker
--task_index="i-2"

其中i是节点的编号(2或3);而在节点 1 上,我做同样的事情,但使用 --job_name=ps--task_index=0。然而,这种方式似乎每个节点只使用一个 CPU。我需要单独指定每个 CPU 吗?

提前谢谢你。

【问题讨论】:

    标签: tensorflow distributed-computing


    【解决方案1】:

    据我了解,最好的办法是将同一节点上的所有 CPU 作为单个工作程序一起使用,以充分利用共享内存。因此,例如在上面的例子中,我们只需要手动指定 9 个工作人员,并确保每个工作人员对应一个使用所有 36 个 CPU 的节点。执行此操作的命令取决于使用的特定集群。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-09
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多