2016-06-24 6 views
2

分散TensorFlowをローカルマシン上で起動することは、各ワーカーがモデルのレプリカを持つように可能ですか?分散TensorFlowの単一マシン上の複数のワーカー

はいの場合、各エージェントに1つのCPUコアのみを使用できるように割り当てることはできますか?

+0

これは1コアの使用を制限するためのこの回答です:http://stackoverflow.com/a/37864489/419116 –

答えて

0

あなたの最初の質問には、答えははいです。詳細はこちらhttps://www.tensorflow.org/versions/r0.9/how_tos/distributed/index.html

2番目の質問では、Tensorflowがこのレベルの細かい制御をコアレベルで持っているかどうかはわかりません。一般に、OSは複数のコアにスレッドの負荷を分散します。

複数のCPU/GPUを使用している場合、Tensorflowはプロセッサレベルでデバイスを指定できます。

2

はい、それはdistributed Tensorflow locallyを起動することが可能である:

各タスクは、通常、異なるマシン上で実行しますが、(例えば、異なるGPUデバイスを制御するために)同じマシン上で複数のタスクを実行することができます。

と各ワーカーがsame graphを持っているような方法で:

あなたが同じプロセスで(tf.Graphで作成した())複数のグラフを使用している場合は、あなたがする必要がありますグラフごとに異なるセッションを使用しますが、各グラフは複数のセッションで使用できます。

あなたのコメントでで述べたように、異なるCPUに配布して、単一のスレッドにスレッドプールを制限する必要single coreに配布TFの実行を試してみて、どのように達成するかの提案があります。

現在、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

関連する問題