stochastic - ¿Qué significa global_step en Tensorflow?
tensorflow stochastic gradient descent (3)
En este es el código tutorial del sitio web TensorFlow,
-
¿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.
-
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.