2016-06-24 45 views
2

是否可以在本地機器上啓動分佈式TensorFlow,方式是每個工人都有該模型的副本?分佈式單臺機器上的多個工作人員TensorFlow

如果是,是否可以分配每個代理只使用一個CPU內核?

+0

這個限制使用1核心的答案:http://stackoverflow.com/a/37864489/419116 –

回答

0

對於你的第一個問題,答案是肯定的。更多細節在這裏:https://www.tensorflow.org/versions/r0.9/how_tos/distributed/index.html

對於第二個問題,我不確定Tensorflow在覈心級別是否具有這種細粒度控制級別;但總的來說,操作系統將在多個內核上平衡線程負載。

請注意,如果您有多個CPU/GPU,Tensorflow確實能夠在處理器級別指定設備。

2

是有可能推出distributed Tensorflow locally

每個任務通常在不同的機器上運行,但你可以在同一臺機器上運行多個任務(例如控制不同的GPU設備)。

,並以這樣的方式,每個工人有same graph

如果您正在使用一個以上的圖形在同一進程(與tf.Graph()創建的),你將不得不爲每個圖形使用不同的會話,但每個圖形可用於多個會話。

正如您的意見提及,有一個如何嘗試和實現分佈式TF的執行到single core這涉及分發到不同的CPU,然後限制線程池到單個線程的建議。

當前沒有允許將TF圖分佈式執行到特定內核的功能。

+1

儘管TensorFlow沒有一個功能來將執行綁定到特定的核心,但由於您使用不同的進程在分佈式運行時,您可以使用[標準Linux處理器關聯機制](http://www.glennklockwood.com/hpc-howtos/process-affinity.html)來實現相同的結果。請注意,您可能還需要限制啓動會話時創建的線程數(「tf.ConfigProto.inter_op_parallelism_threads」和「tf.ConfigProto.intra_op_parallelism_threads」是相關的配置選項)。 – mrry

相關問題