【发布时间】: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