1. 程式人生 > 程式設計 >使用tensorboard視覺化loss和acc的例項

使用tensorboard視覺化loss和acc的例項

1.用try...except...避免因版本不同出現匯入錯誤問題

try:
 image_summary = tf.image_summary
 scalar_summary = tf.scalar_summary
 histogram_summary = tf.histogram_summary
 merge_summary = tf.merge_summary
 SummaryWriter = tf.train.SummaryWriter
except:
 image_summary = tf.summary.image
 scalar_summary = tf.summary.scalar
 histogram_summary = tf.summary.histogram
 merge_summary = tf.summary.merge
 SummaryWriter = tf.summary.FileWriter

2.將程式碼寫入作用域(作用域不影響程式碼的執行)

with tf.name_scope('loss'):
 loss = -tf.reduce_sum(y * tf.log(y_conv))
 loss_summary = scalar_summary('loss',loss)
 
with tf.name_scope('accuracy'):
 accuracy = tf.reduce_mean(tf.cast(correct_prediction,'float'))
 acc_summary = scalar_summary('accuracy',accuracy)

3.將要儲存的變數存在一起

另外可使用 tf.merge_all_summaries() 或者 tf.summary.merge_all()

merged = merge_summary([loss_summary,acc_summary])

4.定義儲存路徑(在sess中完成)

writer = SummaryWriter('save-cnn20/logs',sess.graph)

5.訓練模型的同時訓練變數集合merged(在sess中完成,counter為計數,每訓練一次增加1)

summary,_ = sess.run([merged,train_step],feed_dict={x:x_batch,y:y_batch})
counter += 1
writer.add_summary(summary,counter)

6.訓練完成後在 save/logs 資料夾裡面會有一個events.out.開頭的檔案,以下通過終端操作。

cd save
tensorboard --logdir=logs

終端會出現一個網址,複製到瀏覽器中開啟就能看見tensorboard儲存的影象了。(若開啟後無資料或影象,檢查 --logdir後面的資料夾名字是否給錯了。)

以上這篇使用tensorboard視覺化loss和acc的例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。