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