TensorFlow优化器GradientDescentOptimizer

类GradientDescentOptimizer

继承自:Optimizer

这是一个实现实现梯度下降算法的优化器类,用于构造一个新的梯度下降优化器实例

 

构造器方法__init__

__init__(
    learning_rate,
    use_locking = False,
    name = ' GradientDescent '
)

参数:

learning_rate:优化器将采用的学习速率,一个张量或一个浮点值。

use_locked:如果为True,则使用锁进行更新操作。

name:可选的,应用梯度时创建的操作名称前缀,默认为“GradientDescent”。

 

方法

apply_gradients方法

apply_gradients (
    grads_and_vars,
    global_step = None
    name = None
)

对变量应用梯度。

这是minimize()的第二部分。它返回一个应用梯度的操作。

 

参数:

grads_and_vars:compute_gradients()返回的(梯度、变量)成对的列表。

global_step:可选变量,在变量更新后增加1。

name:返回操作的可选名称。默认为传递给优化器构造函数的名称。

返回:

一种应用指定梯度的操作。如果global_step不是None,则该操作还会增加global_step。

 

报错:

TypeError:如果grads_and_vars格式不正确。

ValueError:如果所有变量都没有渐变。

RuntimeError:如果您应该使用_distributed_apply()。

 

compute_gradients方法

compute_gradients(
    loss,
    var_list=None,
    gate_gradients=GATE_OP,
    aggregation_method=None,
    colocate_gradients_with_ops=False,
    grad_loss=None
)

计算var_list中变量的损失梯度。

 

这是minimize()的第一部分。它返回一个(梯度,变量)成对的列表,其中“梯度”是“变量”的梯度。注意,“梯度”可以是张量、索引切片,或者如果给定变量没有梯度,则为零。

 

参数:

loss:一个包含要最小化的值的张量,或者一个不带参数的可调用张量,它返回要最小化的值。当启用即时执行时,它必须是可调用的。

var_list:可选的tf.Variable列表或元组,变量更新以最小化损失。默认值为在关键字GraphKeys.TRAINABLE_VARIABLES下的图表中收集的变量列表。

gate_gradients:如何设定计算梯度的Gate。可取值为GATE_NONE、GATE_OP或GATE_GRAPH。

aggregation_method:指定用于组合梯度项的方法。有效值在类AggregationMethod中定义。

colocate_gradients_with_ops:如果为真,尝试使用相应的op对梯度进行校对。

grad_loss:可选的。一个保持梯度的张量,用于计算损失。

 

返回:

一组(梯度,变量)对。变量总是存在的,但是梯度可以不存在。

 

报错:

TypeError:如果var_list包含变量对象以外的任何内容。

ValueError:如果某些参数无效。

RuntimeError:如果调用时启用了紧急执行,并且loss不可调用。

 

你可能感兴趣的:(TensorFlow)