In diesem Tutorial-Code von der TensorFlow-Website,
könnte jemand helfen zu erklären, was
global_step
bedeutet?Ich habe auf der Tensorflow-Website geschrieben, dass ein globaler Schritt verwendet wird, um Trainingsschritte zu zählen , aber ich verstehe nicht ganz, was genau das bedeutet.
Was bedeutet die Zahl 0 beim Einrichten
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
Laut Tensorflow doc global_step: Inkrementieren um eins, nachdem die Variablen aktualisiert wurden . Bedeutet das, dass nach einem Update global_step
1 wird?
quelle
tf.train.global_step()
dieglobal_step_tensor
auf 10. Does eingestellt , dass Mittel 10 Chargen sind bereits durch das Diagramm gesehen?Zeigen Sie unten ein anschauliches Beispiel:
Code:
entsprechender Druck
quelle
Das
global_step
Variable
enthält die Gesamtzahl der Schritte während des Trainings über die Aufgaben hinweg (jeder Schrittindex wird nur für eine einzelne Aufgabe ausgeführt).Eine von erstellte Zeitleiste
global_step
hilft uns zu verstehen, wo wir uns im großen Schema befinden, und zwar anhand der einzelnen Aufgaben. Zum Beispiel könnte der Verlust und die Genauigkeitglobal_step
auf Tensorboard aufgetragen werden .quelle
Es gibt Netzwerke, z. B. GANs, für die möglicherweise zwei (oder mehr) verschiedene Schritte erforderlich sind. Das Trainieren eines GANs mit der WGAN-Spezifikation erfordert, dass die Schritte auf dem Diskriminator (oder Kritiker) D mehr sind als die auf dem Generator G. In diesem Fall ist es nützlich, verschiedene global_steps-Variablen zu deklarieren.
Beispiel: (
G_loss
undD_loss
sind der Verlust des Generators und des Diskriminators)quelle