¿Qué significa global step en Tensorflow?


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

  1. ¿Podría alguien ayudar a explicar qué significa global_step?

    Encontré en el sitio web de Tensorflow escrito que global step se utiliza count training steps, pero no entiendo exactamente qué significa.

  2. Además, ¿qué significa el número 0 cuando se configura 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: incremento en uno después de que las variables tienen se ha actualizado. ¿Eso significa que después de una actualización global_step se convierte en 1?

Author: Stefan Falk, 2016-12-15

3 answers

global_step se 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 del número de lotes vistos hasta ahora. Cuando se pasa en la lista de argumentos minimize(), la variable se incrementa en uno. Echa un vistazo a optimizer.minimize().

Puede obtener el valor 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.

 70
Author: martianwars,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-13 13:06:57

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

Una línea de tiempo creada por global_step nos ayuda a entender saber dónde estamos 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.

 1
Author: envy_intelligence,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-07 14:12:33

Mostrar 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
 0
Author: yichudu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-10-01 08:19:32