tensorflow學習——TensorBoard視覺化
阿新 • • 發佈:2019-01-11
1、新增要顯示的變數
import tensorflow as tf
# 用於標量的summary
tf.summary.scalar('loss', cross_entropy)
tf.summary.scalar('accuracy', accuracy)
# 收集以下三個資訊,統計直方圖
with tf.name_scope("summary_gradients"): # 有層次顯示
tf.summary.histogram('weights', weights)
tf.summary.histogram('biases', biases)
tf.summary.histogram('activations' , act)
# 收集圖片
tf.summary.image('input', x_image, 3)
'''
tf.summary.image(tag, tensor, max_images=3, collections=None, name=None):tensor,必須4維,形狀[batch_size, height, width, channels],max_images
(最多隻能生成3張圖片的summary),覺著這個用在卷積中的kernel視覺化很好用.max_images確定了生成的圖片是
[-max_images: ,height, width, channels],還有一點就是,TensorBord中看到的image summary永遠是最後一個global step的
'''
merged_summary = tf.summary.merge_all()
with tf.Session() as sess:
# 輸出網路結構
writer = tf.summary.FileWriter(your_dir, sess.graph)
sess.run(tf.global_variable_initializer())
_, loss_value = sess.run([train_op, loss]) # 將資料送入圖中
result = sess.run(summary) # merged也是需要run的
summary_writer.add_summary(result, step)
'''
如果使用writer.add_summary(summary,global_step)時沒有傳global_step引數,
會使scarlar_summary變成一條直線
'''
summary_writer.flush() # 重新整理一下
2、視覺化
對於Linux和mac os:
# direct to the local dir and run this in terminal:
# $ tensorboard --logdir='logs'1212
對於windows,必須填寫完整的路徑,並且不要加”,:
# direct to the local dir and run this in terminal:
# $ tensorboard --logdir=dir
# 例如
tensorboard --logdir=D:\project\python3code\mofan\logs12341234
然後使用Chrome中,輸入http://localhost:6006,然後切換到GRAPHS就可以看到定義的圖了。
1。如果http://localhost:6006/ 進不了,可以換成這個網址: http://127.0.0.1:6006/
2。如果出現No scalar data was found…
先檢查程式碼有沒有問題,如果沒有問題就是tensorboard指令用錯了。應該在events檔案的上一層路徑輸入:tensorboard –logdir=summary
注意,等號兩邊,不能有空格,不能有空格。。。問題解決