TensorFlow - Optimizadores
Los optimizadores son la clase extendida, que incluyen información adicional para entrenar un modelo específico. La clase del optimizador se inicializa con los parámetros dados, pero es importante recordar que no se necesita ningún tensor. Los optimizadores se utilizan para mejorar la velocidad y el rendimiento para entrenar un modelo específico.
El optimizador básico de TensorFlow es:
tf.train.Optimizer
Esta clase se define en la ruta especificada de tensorflow / python / training / optimizer.py.
A continuación se muestran algunos optimizadores en Tensorflow:
- Descenso de gradiente estocástico
- Descenso de gradiente estocástico con recorte de gradiente
- Momentum
- El impulso de Nesterov
- Adagrad
- Adadelta
- RMSProp
- Adam
- Adamax
- SMORMS3
Nos centraremos en el descenso del gradiente estocástico. La ilustración para crear optimizador para el mismo se menciona a continuación:
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
Los parámetros básicos se definen dentro de la función específica. En nuestro capítulo siguiente, nos centraremos en la optimización del descenso de gradientes con la implementación de optimizadores.