优化器是扩展类,包括用于训练特定模型的附加信息.优化器类使用给定的参数进行初始化,但重要的是要记住不需要Tensor.优化器用于提高训练特定模型的速度和性能.
TensorFlow的基本优化器是 :
tf.train.Optimizer
此类在tensorflow/python/training/optimizer.py的指定路径中定义.
以下是Tensorflow中的一些优化器 :
随机梯度下降
带梯度剪裁的随机梯度下降
动量
Nesterov势头
Adagrad
Adadelta
RMSProp
Adam
Adamax
SMORMS3
我们将专注于随机梯度下降.下面提到了创建优化器的插图 :
def sgd(cost, params, lr = np.float32(0.01)): g_params = tf.gradients(cost, params) updates = [] for param, g_param in zip(params, g_params): updates.append(param.assign(param - lr*g_param)) return updates
基本参数在特定函数中定义.在随后的章节中,我们将重点关注梯度下降优化和优化器的实现.