是否可以在本地计算机上启动分布式TensorFlow,方式是每个工作者都有模型的副本?
如果是,是否可以指定每个代理仅使用一个CPU核心?
答案 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可以在处理器级别指定设备。