2017-04-13 65 views
0

我有個Tensorflow圖表(神經網絡),在其內部的我定義此變量:避免最小化當模型是評估tensorflow

optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(Joint_Loss) 

當我使用該方法餵我的曲線圖

o = sess.run([optimizer], feed_dict={x: batch_x, 
            y: batch_y,} 

我運行圖中權重優化的一個步驟(我的網絡的權重被更新)。

現在,如果我先前的呼叫的另一個運行具有相同圖表(具有優化變量)之後調用,而不指定優化作爲提取精氨酸,像這樣:

loss = sess.run([loss], feed_dict={x: batch_x, 
            y: batch_y,} 

所述最小化步驟是是否完成(重量更新)?如果它完成了,我可以用tensorflow條件語句來避免它嗎?

回答

2

不,網絡沒有更新。由於您的loss在計算圖中不依賴於optimizer,所以tensorflow將省略此操作的執行。

+0

因此,只有當我指定爲獲取arg一個由優化器正確的變量時,權值纔會更新? – sdrabb

+0

是的。或者優化器操作本身。 –