2016-11-22 2 views
0

すべて、テンソルフローのScalabiliity

私は最近私たちのクラスタにテンソルフローをインストールし、インストールをテストするためのMNISTサンプルコードを実行しています。私はテンソルフローがCPUの数の増加がテンソルフローのパフォーマンスにどのように影響するかを見ることに興味があります。そのために、同じ数のコアを使用して同じサンプルコードを実行しましたが、テンソルフローがスケーリングでうまくやっているようには見えません。 別のstackoverflowの質問から、tensorflowは使用可能なCPUを自動的にすべて自動的に使用し、ジョブの実行中はtrueとみなしていることがわかりました。

コアの数と取られた時間のプロットを以下に示します。コアの数が1から28になる5つの試行の平均です。 enter image description here スケーリングがそれほど悪い理由についての説明はありますか?私は理解しているように、コアの数が増えるにつれて継続的な増加を期待していませんでした。通信のコアは考慮されるべきです。しかし、私は、この特定のコードに対して最適な数のコアを備えた「U字型」カーブを期待していました。

私はこれを得ることができる任意のお礼をありがとうございます。

答えて

0

どのように異なる数のコアで実行しますか? Tensorflowは、デフォルトで2つのスレッドプールを使用しています。各スレッドはマシンのコア総数に関連した数のスレッドを持っていますので、おそらくノイズがあり、テンソルフローは常に同じスレッド数で実行されます(CPU使用率確認するために)。

テンソルフローで使用するコアの数を制限する場合は、config protoでこれを行うことができます。

関連する問題