【发布时间】:2017-12-12 10:03:41
【问题描述】:
mean_sqr = tf.reduce_mean(tf.pow(y_ - y, 2))
optimizer = tf.train.AdamOptimizer(LEARNING_RATE)
gradients, variables = zip(*optimizer.compute_gradients(mean_sqr))
opt = optimizer.apply_gradients(list(zip(gradients, variables)))
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
for j in range(TRAINING_EPOCHS):
sess.run(opt, feed_dict={x: batch_xs, y_: batch_xs})
我不清楚 compute_gradients 返回什么?它是否为由 batch_xs 分配的给定 x 值返回 sum(dy/dx),并在 apply_gradients 函数中更新梯度,例如:
theta
或者它是否已经返回给定批次中每个 x 值求和的梯度平均值,例如 sum(dy/dx)*1/m,m 被定义为 batch_size?
【问题讨论】:
标签: python-3.x tensorflow deep-learning gradient