1. 程式人生 > >tensorflow學習——TensorBoard視覺化

tensorflow學習——TensorBoard視覺化

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
注意,等號兩邊,不能有空格,不能有空格。。。問題解決