2017-04-13 15 views
0
op1=tf.image.random_brightness(placeholder_img3d_float32, max_delta=...) 
op2=tf.image.random_contrast(placeholder_img3d_float32, lower=..., upper=...) 
op3=tf.image.per_image_standardization(placeholder_img3d_float32) 

私はこれらの3つのOPSを定義した場合、私は実行します。ランニング対tensorflowのグラフ依存関係:依存関係の存在を検証する方法は?その後、

sess.run(op1, ...) 
sess.run(op2, ...) 
sess.run(op3, ...) 

sess.run([op1, op2, op3], ...)

  • は、私はすべての3オプス3回実行しましたか?それとも、彼らはすべて独立しているのですか?
  • このようなグラフ依存関係の質問をどのように検証する必要がありますか?

更新:

それらの間に依存関係が存在しないように、これら3つのOPSのtensorboardグラフが見えるが、右上に示すlocal_placeholder 5つの出力、3つのOPSのそれぞれを供給する少なくとも一つを有していますここに。つまり、プレースホルダにフィードすると、3 opsが実行されるか、グラフに表示される依存関係がないため、プレースホルダは一般的ですが、依存関係はなく、処理される演算コールのみです。

enter image description here

答えて

0

セッションでは、すべての3つの操作を同じ時間に実行するコマンドを与えることができます。しかし、テンソルフローの内部は自動的に依存関係を探します。

第3の操作が第2の操作に依存し、第2の操作が第1の操作に依存し、第3の操作を最初に実行する必要があるとしたら、セッションオブジェクトは最初の操作を最初に実行し、ステップ。

テンソルフローグラフでは、依存関係をうまく見ることができます。各灰色の線は、2つの操作間のデータフローを示します。そして、点線は各変数の依存関係を示します。

関連する問題