tensorflow
Mesurer le temps d'exécution des opérations individuelles
Recherche…
Exemple de base avec l'objet Timeline de TensorFlow
L' objet Timeline
vous permet d'obtenir le temps d'exécution pour chaque nœud du graphique:
- vous utilisez un classique
sess.run()
mais spécifiez également lesoptions
optionnelles des arguments etrun_metadata
- vous créez ensuite un objet
Timeline
avec les donnéesrun_metadata.step_stats
Voici un exemple de programme qui mesure les performances d'une multiplication matricielle:
import tensorflow as tf
from tensorflow.python.client import timeline
x = tf.random_normal([1000, 1000])
y = tf.random_normal([1000, 1000])
res = tf.matmul(x, y)
# Run the graph with full trace option
with tf.Session() as sess:
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
sess.run(res, options=run_options, run_metadata=run_metadata)
# Create the Timeline object, and write it to a json
tl = timeline.Timeline(run_metadata.step_stats)
ctf = tl.generate_chrome_trace_format()
with open('timeline.json', 'w') as f:
f.write(ctf)
Vous pouvez ensuite ouvrir Google Chrome, accéder à la page chrome://tracing
et charger le fichier timeline.json
. Vous devriez voir quelque chose comme:
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow