我想为单个sess.run()
调用采取多个梯度下降步骤。每次调用的输入都是固定的,因此我只需要传递一次。
我该怎么做?我有一个想法,但我不确定它会在每一步重新计算渐变(而是应用第一个渐变N次)。我想避免不止一次致电tf.gradients()
。在依赖项中包含grads_and_vars
是否足够?
N=5
fit_op_i = fit_op_0 = optimizer.apply_gradients(grads_and_vars)
for i in range(N):
with tf.control_dependencies([fit_op_i]):
fit_op_i = optimizer.apply_gradients(grads_and_vars)
fit_op_N = fit_op_i
包含需要多次sess.run()
来电的答案的相关问题:
Run train op multiple times in tensorflow