Tensorboard顯示計算圖節點信息
覺得有用的話,歡迎一起討論相互學習~
參考文獻
強烈推薦Tensorflow實戰Google深度學習框架
實驗平台:
Tensorflow1.4.0
python3.5.0
- TensorFlow不僅可以展示計算圖的結構,還可以展示TensorFlow 計算圖上每個節點的基本信息以及運行時消耗的時間和空間。這可以幫助更加有針對性地優化TensorFlow 程序,使得整個程序的運行速度更快。使用TensorBoard 可以非常直觀地展現所有TensorFlow 計算節點在某一次運行時所消耗的時間和內存。
with tf.Session() as sess:
tf.global_variables_initializer().run()
for i in range(TRAINING_STEPS):
xs, ys = mnist.train.next_batch(BATCH_SIZE)
if i%1000 == 0:
# 配置運行時需要記錄的信息。
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
# 運行時記錄運行信息的proto。
run_metadata = tf.RunMetadata()
# 將配置信息和記錄運行信息的proto傳入運行的過程,從而記錄運行時每一個節點的時間空間開銷信息
_, loss_value, step = sess.run(
[train_op, loss, global_step], feed_dict={x: xs, y_: ys},
options=run_options, run_metadata=run_metadata)
writer.add_run_metadata(run_metadata=run_metadata, tag=("tag%d"%i), global_step=i)
print("After %d training step(s), loss on training batch is %g."%(step, loss_value))
else:
_, loss_value, step = sess.run([train_op, loss, global_step], feed_dict={x: xs, y_: ys})
- 左側欄的按鈕下拉菜單可以選擇圖中顯示的程序運行次數。
- 可以選擇顯示計算圖的結構以及計算圖中節點計算所用的時間和內存
-
下圖顯示計算圖中節點計算所用時間
-
下圖顯示計算圖中節點計算所用內存
-