0
我々は怒鳴るのコードを使用して:sess.runを実行するときのテンソルフローはどのように計算グラフを処理しますか?
output = NeuralNetwork(x,W)
loss = Loss(output, true_label)
train_op = Optimizer.minimize(loss)
sess.run([loss, train_op], feed_dict=feed)
は、二度の損失を計算するための1、勾配を計算するための1つをtensorflowコンピュートoutput
を行い、または一度だけouput
を計算し、loss
とgradient
を計算するために計算されたoutput
を使用していますか? ありがとう!
編集。 tensorflow次のコード実行時 :この場合
output = NeuralNetwork(x,W)
ouput_plus_one = output+1
loss = Loss(output, true_label)
train_op = Optimizer.minimize(loss)
sess.run([output_plus_one, train_op], feed_dict=feed)
を、output_plus_one
とtrain_op
のサブグラフとの重なり部分グラフを検出し、第output
を計算tensorflowですか?
上記の2番目の質問では、テンソルフローは 'output_plus_one'と' train_op'の部分グラフの間に重なったサブグラフを検出してから 'output'を先に計算しますか?ありがとう – Keith
'output'はグラフ上の1つのノードです。その出力テンソルは2つのノードによって消費される。それだ。テンソルフローのpythonレイヤーは、出力を計算するために作成されたノードが1つだけであることを確認します。 – yuefengz