TensorFlow - Optimierer
Optimierer sind die erweiterte Klasse, die zusätzliche Informationen zum Trainieren eines bestimmten Modells enthält. Die Optimierungsklasse wird mit bestimmten Parametern initialisiert, es ist jedoch wichtig zu beachten, dass kein Tensor benötigt wird. Die Optimierer werden zur Verbesserung der Geschwindigkeit und Leistung beim Training eines bestimmten Modells verwendet.
Der grundlegende Optimierer von TensorFlow ist -
tf.train.Optimizer
Diese Klasse wird im angegebenen Pfad von tensorflow / python / training / optimizer.py definiert.
Im Folgenden finden Sie einige Optimierer in Tensorflow -
- Stochastischer Gradientenabstieg
- Stochastischer Gradientenabstieg mit Gradientenschnitt
- Momentum
- Nesterov Schwung
- Adagrad
- Adadelta
- RMSProp
- Adam
- Adamax
- SMORMS3
Wir werden uns auf den stochastischen Gradientenabstieg konzentrieren. Die Abbildung zum Erstellen eines Optimierers für dasselbe ist unten aufgeführt -
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
Die Grundparameter werden innerhalb der jeweiligen Funktion definiert. In unserem folgenden Kapitel konzentrieren wir uns auf die Gradientenabstiegsoptimierung mit der Implementierung von Optimierern.