2017-09-15 26 views
0

我使用計算梯度(tf.vars是有訓練的張量清單)如何使用tf.gradients和gradients_apply

x = tf.gradients(y,tf.vars) 

現在假設我想申請這個梯度使用optimizer.apply_gradients,然後我需要給出一個包含(gradient,variable)形式元組的列表。 如何生成這樣的列表?

optimizer.apply_gradients(??) 

什麼在空間?

回答

0

傳遞給optimizer.apply_gradients的列表應該是(g, v)對的列表,其中v是圖的變量,g是梯度w.r.t.你想更新v

所以這樣的事情應該工作:

[(g, v) for g, v in zip(x, tf.vars)] 
+0

的問題是,我如何確認x中變量的順序是一樣的,在tf.vars? –

+0

它由tf.gradients保證:https://www.tensorflow.org/api_docs/python/tf/gradients –

+0

該文檔沒有說變量的排序保持不變。 –

相關問題