莫煩大大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