分布式TensorFlow中的单台机器上的多个工作人员

时间:2016-06-24 01:38:18

标签: tensorflow

是否可以在本地计算机上启动分布式TensorFlow,方式是每个工作者都有模型的副本?

如果是,是否可以指定每个代理仅使用一个CPU核心?

2 个答案:

答案 0 :(得分:2)

是的,可以启动distributed Tensorflow locally

  

每个任务通常在不同的计算机上运行,​​但您可以在同一台计算机上运行多个任务(例如,控制不同的GPU设备)。

以每个工人都有same graph

的方式
  

如果您在同一个过程中使用多个图形(使用tf.Graph()创建),则必须为每个图形使用不同的会话,但每个图形可用于多个会话。

正如您在评论中所提到的,有一个建议是如何尝试实现分布式TF到single core的执行,这涉及分发到不同的CPU,然后将线程池限制为单个线程。

目前,没有任何功能允许将TF图分布式执行到特定内核。

答案 1 :(得分:0)

对于你的第一个问题,答案是肯定的。更多详情:https://www.tensorflow.org/versions/r0.9/how_tos/distributed/index.html

对于第二个问题,我不确定Tensorflow是否在核心级别具有这种级别的细粒度控制;但一般来说,操作系统会在多个核心上加载平衡线程。

请注意,如果您有多个CPU / GPU,Tensorflow可以在处理器级别指定设备。