TensorFlow - 最佳化器



最佳化器是擴充套件類,其中包括用於訓練特定模型的附加資訊。該最佳化器類使用給定的引數初始化,但重要的是要記住,不需要張量。最佳化器用於提高特定模型的培訓速度和效能。

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

基本引數在特定函式中定義。在我們的後續章節中,我們將重點關注梯度下降最佳化,並實施最佳化器。

廣告
© . All rights reserved.