0
我有一個成本,這取決於兩個變量列表a
和b
。
我想:Tensorflow control_dependencies不與列表
- 計算在當前點費用都梯度,
- 更新的損失w.r.t.第一個變量列表(
a
) - 更新損失w.r.t.第二個變量列表(
b
)。
按該順序。
要做到這一點我想是這樣的:
編輯:繼@Yaroslav Bulatov的答案,我試過如下:
opt=tf.train.GradientDescentOptimizer(0.001)
grad_cost_wrt_a=opt.compute_gradients(cost,[a])
grad_cost_wrt_b=opt.compute_gradients(cost,[b])
with tf.control_dependencies(grad_cost_wrt_a[0]):
with tf.control_dependencies(grad_cost_wrt_b[0]):
update_wrt_a=opt.apply_gradients(grad_cost_wrt_a)
with tf.control_dependencies([update_wrt_a]):
update_wrt_b=opt.apply_gradients(grad_cost_wrt_b)
知道如果這是做正確的事?如果a和b是變量列表。
爲了能夠然後執行:
sess.run([update_wrt_a,update_wrt_b],feed_dict={x: x_input, y: y_input})
首先這不起作用,我得到: 不能列表轉換成張量或操作,但control_dependencies應該收到張量清單...
然後獎金問題,我真的需要所有這些control_dependencies?
應該知道!對不起,我錯過了!謝謝 ! – jean
其實你如何處理a和b是變量列表的情況? – jean
我編輯了我的問題?如果我只對第一個漸變使用控件依賴關係,那麼變量元組是否像我想要的那樣工作? – jean