代码
tf.reset_default_graph()
optim = tf.train.AdamOptimizer(0.01)
a = tf.Variable(initial_value=0.,name='a')
b = 2*a
y = a+b
tvars = tf.trainable_variables()
# grads = tf.gradients(y,tvars)
# app = optim.apply_gradients(zip(grads,tvars))
grads_and_vars = optim.compute_gradients(y,tvars)
app = optim.apply_gradients(grads_and_vars)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for i in range(3):
sess.run(app)
print('a={:.2f}, b={:.2f}'.format(a.eval(),b.eval()))
输出
a=-0.01, b=-0.02
a=-0.02, b=-0.04
a=-0.03, b=-0.06
本文展示了一个使用TensorFlow的Adam优化器进行变量更新的例子。通过定义变量a,并计算其梯度来更新变量,展示了优化过程。在会话中运行初始化和应用梯度操作,观察变量a和b的变化。
6139

被折叠的 条评论
为什么被折叠?



