train stochastic sgd optimizer learning gradientdescentoptimizer descent tensorflow deep-learning

stochastic - ¿Qué significa global_step en Tensorflow?



tensorflow stochastic gradient descent (3)

En este es el código tutorial del sitio web TensorFlow,

  1. ¿Alguien podría ayudar a explicar qué significa global_step ?

    Encontré en el sitio web de Tensorflow escrito que el paso global se usa para contar los pasos de entrenamiento , pero no entiendo exactamente qué significa.

  2. Además, ¿qué significa el número 0 al configurar global_step ?

def training(loss,learning_rate): tf.summary.scalar(''loss'',loss) optimizer = tf.train.GradientDescentOptimizer(learning_rate) # Why 0 as the first parameter of the global_step tf.Variable? global_step = tf.Variable(0, name=''global_step'',trainable=False) train_op = optimizer.minimize(loss, global_step=global_step) return train_op

Según Tensorflow doc global_step: incremente en uno después de que se hayan actualizado las variables . ¿ global_step significa que después de una actualización global_step convierte en 1?


La Variable global_step contiene el número total de pasos durante el entrenamiento en las tareas (el índice de cada paso se producirá solo en una sola tarea).

Una línea de tiempo creada por global_step nos ayuda a comprender dónde estamos en el gran esquema, de cada una de las tareas por separado. Por ejemplo, la pérdida y la precisión podrían trazarse contra global_step en Tensorboard.


mostrarle una muestra vívida a continuación:

código:

train_op = tf.train.GradientDescentOptimizer(learning_rate=LEARNING_RATE).minimize(loss_tensor,global_step=tf.train.create_global_step()) with tf.Session() as sess: ... tf.logging.log_every_n(tf.logging.INFO,"np.mean(loss_evl)= %f at step %d",100,np.mean(loss_evl),sess.run(tf.train.get_global_step()))

impresión correspondiente

INFO:tensorflow:np.mean(loss_evl)= 1.396970 at step 1 INFO:tensorflow:np.mean(loss_evl)= 1.221397 at step 101 INFO:tensorflow:np.mean(loss_evl)= 1.061688 at step 201


global_step refiere al número de lotes vistos por el gráfico. Cada vez que se proporciona un lote, los pesos se actualizan en la dirección que minimiza la pérdida. global_step solo realiza un seguimiento de la cantidad de lotes vistos hasta ahora. Cuando se pasa en la lista de argumentos minimize() , la variable aumenta en uno. Echa un vistazo a optimizer.minimize() .

Puede obtener el valor tf.train.global_step() usando tf.train.global_step() . También son útiles los métodos de utilidad tf.train.get_global_step o tf.train.get_or_create_global_step .

0 es el valor inicial del paso global en este contexto.