tensorboard是tensorflow自帶的可視化工具
輸入命令可以啟動tensorboard服務。
tensorboard --logdir=your log dir
通過瀏覽器localhost:6006進入可視化界面,可以看到能夠進行可視化的選項,包括
- SCALARS:顯示訓練過程中的損失值、准確率、權重偏置變化
- IMAGES:顯示訓練的圖像
- AUDIO:顯示訓練的音頻
- GRAPHS:可視化模型
- DISTRIBUTIONS:記錄數據的分布
- HISTOGRAMS:數據的直方圖
- EMBEDDINGS:詞向量的投影
想用tensorboard展示哪些量,只需要在變量后添加tf.summary底下相應的函數即可,舉個栗子
1 def loss(logits,label_batches): 2 cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits,labels=label_batches) 3 cost = tf.reduce_mean(cross_entropy) 4 tf.summary.scalar("loss",cost) 5 return cost
在scalars中展示損失值,只需要添加第4行所示代碼即可。其余功能可以去官網查看。
最后,在想要可視化的地方進行匯總,一行代碼就可以匯總截止到該代碼之前的所有summary,添加代碼:
summary_op = tf.summary.merge_all()
然后,使用如下代碼,將summary保存下來,最終在目錄下生成events.out....的文件。
train_writer = tf.summary.FileWriter(log_dir,sess.graph)
再session中執行的時候,使用下面兩行代碼運行匯總操作,第2行中的step是匯總的步數,你也可以規定多少個step后進行一次匯總。
1 summary = sess.run(summary_op) 2 train_writer.add_summary(summary,step)
實際展示的結果如下
SCALARS
IMAGES
GRAPHS