tf.train.Optimizer.minimize

来源:互联网 发布:英文文献阅读软件 编辑:程序博客网 时间:2024/06/10 04:27

官方文档如下:

tf.train.Optimizer.minimize(loss, global_step=None, var_list=None, gate_gradients=1, aggregation_method=None, colocate_gradients_with_ops=False, name=None, grad_loss=None)

Add operations to minimize loss by updating var_list.

This method simply combines calls compute_gradients() and apply_gradients(). If you want to process the gradient before applying them call compute_gradients() and apply_gradients()explicitly instead of using this function.

Args:
  • loss: A Tensor containing the value to minimize.
  • global_step: Optional Variable to increment by one after the variables have been updated.
  • var_list: Optional list of Variable objects to update to minimize loss. Defaults to the list of variables collected in the graph under the key GraphKeys.TRAINABLE_VARIABLES.
  • gate_gradients: How to gate the computation of gradients. Can be GATE_NONE, GATE_OP, orGATE_GRAPH.
  • aggregation_method: Specifies the method used to combine gradient terms. Valid values are defined in the class AggregationMethod.
  • colocate_gradients_with_ops: If True, try colocating gradients with the corresponding op.
  • name: Optional name for the returned operation.
  • grad_loss: Optional. A Tensor holding the gradient computed for loss.
Returns:

An Operation that updates the variables in var_list. If global_step was not None, that operation also increments global_step.


其中有三个参数需要注意:

(1)loss:即最小化的目标变量,一般就是训练的目标函数,均方差或者交叉熵;

(2)global_step:梯度下降一次加1,一般用于记录迭代优化的次数,主要用于参数输出和保存;

(3)var_list 每次要迭代更新的参数集合。