gpt4 book ai didi

tensorflow - tensorflow 中优化器的 `apply_gradients`和 `minimize`之间的区别

转载 作者:行者123 更新时间:2023-12-03 09:29:59 28 4
gpt4 key购买 nike

我对 tensorflow 中优化器的apply_gradientsminimize之间的差异感到困惑。例如,

optimizer = tf.train.AdamOptimizer(1e-3)
grads_and_vars = optimizer.compute_gradients(cnn.loss)
train_op = optimizer.apply_gradients(grads_and_vars, global_step=global_step)



optimizer = tf.train.AdamOptimizer(1e-3)
train_op = optimizer.minimize(cnn.loss, global_step=global_step)

它们确实一样吗?

如果要降低学习速度,可以使用以下代码吗?

global_step = tf.Variable(0, name="global_step", trainable=False)
starter_learning_rate = 1e-3
learning_rate = tf.train.exponential_decay(starter_learning_rate, global_step,
100, FLAGS.decay_rate, staircase=True)
# Passing global_step to minimize() will increment it at each step.
learning_step = (
optimizer = tf.train.AdamOptimizer(learning_rate)
grads_and_vars = optimizer.compute_gradients(cnn.loss)
train_op = optimizer.apply_gradients(grads_and_vars, global_step=global_step)
)

谢谢你的帮助!

最佳答案

您可以从链接轻松知道:https://www.tensorflow.org/get_started/get_started
(tf.train API部分),他们实际上做了同样的工作。
区别在于:如果使用分离的函数(tf.gradients,tf.apply_gradients),则可以在它们之间应用其他机制,例如渐变裁剪。

关于tensorflow - tensorflow 中优化器的 `apply_gradients`和 `minimize`之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45473682/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com