TensorFlow的梯度优化的两种方式(minimize或apply_gradients函数)

先创建一个优化器对象,eg:optimizer = tf.train.AdagradOptimizer(learning_rate),这里的Adagrad是一种优化算法,还有其他的优化器

(1)直接用优化器对象自带的优化方式:optimizer_op = optimizer.minimize(cost),cost是损失函数

minimize()操作可以计算出梯度,并且将梯度作用在变量上

(2)如果有自己处理梯度的方式,则可以按照这三步骤使用optimizer :使用函数tf.gradients()计算梯度按照自己的愿望处理梯度,比如用tf.clip_by_global_norm()函数来控制梯度修改的范围使用函数apply_gradients()应用处理过后的梯度。

 

上一篇:梯度累加(Gradient Accumulation)


下一篇:配置优化算法和超参