SensorFlow: Jede Iteration im Training für Schleife langsamer [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Die Verarbeitungszeit wird mit jeder Iteration länger (TensorFlow) 1 AntwortIch trainiere in TensorFlow ein einfaches Mehrschicht-Perzeptron-ANN mit drei versteckten Schichten. Ich habe eine Textfortschrittsleiste hinzugefügt, damit ich den Fortschritt der Iteration durch die Epochen verfolgen kann. Ich stelle fest, dass sich die Verarbeitungszeit pro Iteration nach den ersten Epochen erhöht. Hier ist ein Beispiel-Screenshot, der die Zunahme mit jeder Iteration zeigt:
n diesem Fall dauerten die ersten paar Iterationen ungefähr 1,05 s und zu 100% 4,01
Der entsprechende Code ist hier aufgelistet:
# ------------------------- Build the TensorFlow Graph -------------------------
with tf.Graph().as_default():
(a bunch of statements for specifying the graph)
# --------------------------------- Training ----------------------------------
sess = tf.InteractiveSession()
sess.run(tf.initialize_all_variables())
print "Start Training"
pbar = tqdm(total = training_epochs)
for epoch in range(training_epochs):
avg_cost = 0.0
batch_iter = 0
while batch_iter < batch_size:
train_features = []
train_labels = []
batch_segments = random.sample(train_segments, 20)
for segment in batch_segments:
train_features.append(segment[0])
train_labels.append(segment[1])
sess.run(optimizer, feed_dict={x: train_features, y_: train_labels})
line_out = "," + str(batch_iter) + "\n"
train_outfile.write(line_out)
line_out = ",," + str(sess.run(tf.reduce_mean(weights['h1']), feed_dict={x: train_features, y_: train_labels}))
line_out += "," + str(sess.run(tf.reduce_mean(weights['h2']), feed_dict={x: train_features, y_: train_labels}))
line_out += "," + str(sess.run(tf.reduce_mean(weights['h3']), feed_dict={x: train_features, y_: train_labels})) + "\n"
train_outfile.write(line_out)
avg_cost += sess.run(cost, feed_dict={x: train_features, y_: train_labels})/batch_size
batch_iter += 1
pbar.update(1) # Increment the progress bar by one
train_outfile.close()
print "Completed training"
ei der Suche nach Stackoverflow habe ich @ gefunde Die Verarbeitungszeit wird mit jeder Iteration länger. wo jemand anderes auch Probleme hatte, wenn jede Iteration länger dauerte als die letzte. Ich glaube jedoch, dass meine möglicherweise anders sind, da sie mit folgenden Anweisungen eindeutig Ops zum Diagramm hinzugefügt haben:
distorted_image = tf.image.random_flip_left_right(image_tensor)
Während ich neu bei TensorFlow bin, glaube ich nicht, dass ich denselben Fehler mache, weil die einzigen Dinge in meiner Schleife sess.run () -Aufrufe sind.
Jede Hilfe wird sehr geschätzt.