1. 程式人生 > >TensorFlow 實戰(二)—— tf train(優化算法)

TensorFlow 實戰(二)—— tf train(優化算法)

ise repr 自定義 optimizer 基類 word blank view rain

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)
    • 1
    • 2
    • 3
    • 4
    在其 tf 下的使用為:
    
    • 1
    lr = tf.train.exponential_decay(0.1, global_step, 100, .96, staircase=True)
    • 1
  • tf.train.inverse_time_decay

  • tf.train.natural_exp_decay
  • tf.train.piecewise_constant
  • tf.train.polynomial_decay

再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!https://blog.csdn.net/jiangjunshow

TensorFlow 實戰(二)—— tf train(優化算法)