1. 程式人生 > >莫煩大大TensorFlow學習筆記(5)----優化器

莫煩大大TensorFlow學習筆記(5)----優化器

一、TensorFlow中的優化器

tf.train.GradientDescentOptimizer:
tf.train.AdadeltaOptimizer
tf.train.AdagradOptimizer
tf.train.AdagradDAOptimizer
tf.train.MomentumOptimizer
tf.train.AdamOptimizer

tf.train.RMSPropOptimizer

 

常用的種類:

tf.train.Optimizer:

class tf.train.Optimizer:優化器(optimizers)類的基類。 Optimizer基類提供了計算損失梯度的方法,並將梯度應用於變數。這個類定義了在訓練模型的時候新增一個操作的API。你基本上不會直接使用這個類,但是你會用到他的子類比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer.等等這些。

 

  • tf.train.GradientDescentOptimizer:這個類是實現梯度下降演算法的優化器。這個建構函式需要的一個學習率就行了。

建構函式:tf.train.GradientDescentOptimizer(0.001).minimize(loss,global_step=None,var_list=None,gate_gradients=GATE_OP,aggregation_method=None,colocate_gradients_with_ops=False,name=None,grad_loss=None)

  • tf.train.AdadeltaOptimizer:實現了 Adadelta演算法的優化器,可以算是下面的Adagrad演算法改進版本。

建構函式: tf.train.AdadeltaOptimizer.init(learning_rate=0.001, rho=0.95, epsilon=1e-08, use_locking=False, name=’Adadelta’)

  • tf.train.AdagradOptimizer:

建構函式:tf.train.AdagradOptimizer.__init__(learning_rate, initial_accumulator_value=0.1, use_locking=False, name=’Adagrad’)

  • tf.train.MomentumOptimizer:

建構函式:tf.train.MomentumOptimizer.__init__(learning_rate, momentum, use_locking=False, name=’Momentum’, use_nesterov=False)

  • tf.train.AdamOptimizer:

建構函式:tf.train.AdamOptimizer.__init__(learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08, use_locking=False, name=’Adam’)

  • tf.train.FtrlOptimizer:

建構函式:

tf.train.ProximalGradientDescentOptimizer
tf.train.ProximalAdagradOptimizer
tf.train.RMSPropOptimizer