我有一个费用,这取决于两个变量列表a
和b
我想:
a
)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})
首先这不起作用我得到: 无法将列表转换为Tensor或Operation,但control_dependencies应该收到张量列表......
那么奖金问题我真的需要所有那些control_dependencies吗?
答案 0 :(得分:1)
您的grad_cost_wrt_a
和grad_cost_wrt_b
个变量是列表,请执行grad_cost_wrt_a[0], grad_cost_wrt_b[0]