¿Qué significa global step en Tensorflow?
En este es código tutorial del sitio web TensorFlow,
-
¿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.
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?
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.
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.
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
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