【发布时间】:2016-11-30 03:02:34
【问题描述】:
让我先描述一下集群设置:
- 我有两个节点(每个节点有 2 个 GPU)。我将它们称为节点 A 和节点 B
- 每个节点都有自己的 SSD 存储。
- OAR 是使用的集群管理器。
我已经阅读了分布式 TensorFlow 文档,但有一些我无法正确理解的功能基础知识,因此提出了这个问题。
考虑以下情况:
- 我在节点 A 上复制了大约 600 GB 的数据。
- 我可以使用 OAR 专门要求在两个节点之间分配 4 个 GPU。
如果我想使用分布式 TensorFlow 来训练模型:
- 如何为 tf.train.ClusterSpec 指定网络地址?那些网络地址是什么?在文档中,诸如 localhost:2222 之类的名称与为具有集群管理器的特定节点保留的名称相同?
- 我的数据被复制到节点 A。在训练期间,TensorFlow 本身会负责将此数据作为输入发送到节点 B 上的 GPU 吗?
- 是否需要使用 tf.device() 为每个节点上的每个 GPU 手动创建 TensorFlow Graph?
- 如果我还想使用一些额外的 CPU 节点,我是否必须事先拥有它们的名称并将它们放入代码中?
【问题讨论】:
标签: python tensorflow