100 votes

Que signifie global_step dans Tensorflow?

Dans ce tutoriel code de TensorFlow site web,

  1. quelqu'un pourrait-il aider à expliquer ce qui n' global_step moyenne?

    J'ai trouvé sur le Tensorflow site écrit que mondial étape est utilisé comte de formation les étapes, mais je n'arrive pas à obtenir ce que l'on entend exactement.

  2. Aussi, quel est le nombre 0 moyenne lors de la configuration d' 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

Selon Tensorflow doc global_step: incrément par les uns après les variables ont été mis à jour. Est-ce à dire après une mise à jour de global_step devient 1?

121voto

martianwars Points 4309

global_step correspond au nombre de lots vu par le graphique. Chaque fois qu'un lot est fourni, les pondérations sont mises à jour dans la direction qui minimise la perte. global_step seulement assure le suivi du nombre de lots vu jusqu'à présent. Quand il est passé dans l' minimize() de la liste d'arguments, la variable est augmenté de un. Jetez un oeil à l' optimizer.minimize().

Vous pouvez obtenir de l' global_step de la valeur à l'aide de tf.train.global_step(). Également à portée de main sont les méthodes de l'utilitaire tf.train.get_global_step ou tf.train.get_or_create_global_step.

0 est la valeur initiale de la mondial de l'étape dans ce contexte.

5voto

envy_intelligence Points 222

global_step Variable contient le nombre total d'étapes au cours de la formation pour toutes les tâches (chaque index d'étape n'apparaît que sur une seule tâche).

Une chronologie créée par global_step nous aide à comprendre où nous en sommes dans le grand schéma, à partir de chacune des tâches séparément. Par exemple, la perte et la précision pourraient être comparées à global_step sur Tensorboard.

4voto

yichudu Points 69

vous montrer un échantillon vif ci-dessous:

code:

 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()))
 

impression correspondante

 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
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X