TensorFlow 实战(二)—— tf.train(优化算法)

来源:互联网 发布:php微社区源码 编辑:程序博客网 时间:2024/06/06 08:53

Training | TensorFlow

  • tf 下以大写字母开头的含义为名词的一般表示一个类(class)

1. 优化器(optimizer)

优化器的基类(Optimizer base class)主要实现了两个接口,一是计算损失函数的梯度,二是将梯度作用于变量。tf.train 主要提供了如下的优化函数:

  • tf.train.Optimizer
  • tf.train.GradientDescentOptimizer
  • tf.train.AdadeltaOpzimizer
    • Ada delta
  • tf.train.AdagradDAOptimizer
  • tf.train.MomentumOptimizer
  • tf.train.AdamOptimizer
  • tf.train.FtrlOptimizer
  • tf.train.ProximalGradientDescentOptimizer
  • tf.train.ProximalAdagradOptimizer
  • tf.train.RMSPropOptimizer

2. 梯度计算

TensorFlow 同时也提供了给定 TensorFlow 计算图(computation graph)的导数。上节提到的优化器类(optimizer classes)会自动计算 computation graph 的导数,但用户自定义优化器时,可以使用如下低级别的函数:

  • tf.gradients
  • tf.AggregationMethod
  • tf.stop_gradient
  • tf.hessians

2. 学习率衰减(decaying the learning rate)

  • tf.train.exponential_decay

    # 实现的是如下的操作decayed_lr = lr * decay_rate ^ (global_step/decay_steps)
    在其 tf 下的使用为:
    lr = tf.train.exponential_decay(0.1, global_step, 100, .96, staircase=True)
  • tf.train.inverse_time_decay

  • tf.train.natural_exp_decay
  • tf.train.piecewise_constant
  • tf.train.polynomial_decay
0 0
原创粉丝点击