TensorFlow優化器


優化器是擴充套件類,其中包括用於訓練特定模型的附加資訊。優化器類使用給定的引數進行初始化,但重要的是要記住不需要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

基本引數在特定功能中定義。在隨後的章節中,將重點介紹梯度下降優化以及優化器的實現。