tensorflow實戰(黃文堅 唐源) 學習筆記4--tensorboard
阿新 • • 發佈:2018-12-11
concept
some tf function
- 放圖, 用法:name,tensor,max_outputs
tf.summary.image("asd",tensor,10)
- 統計直方圖
tf.summary.histogram("asd",tensor)
- scalar 進行統計彙總,單個數值儲存用 tf.summary.scalar,一般用來儲存loss,accuary,學習率等資料,比較常用。
tf.summary.scalar("loss || accuracy",loss || accuracy)
- 定義了太多的summary彙總操作,逐一執行太麻煩,使用merge_all
merged = tf.summary.merge_all()
- train 和 test 分開寫writer
train_writer = tf.summary.FileWriter(path,sess.graph)
test_writer = tf.summary.FileWriter(path,sess.graph)
- utility function
def variable_summaries(var):
"""Attach a lot of summaries to a Tensor (for TensorBoard visualization)."""
with tf.name_scope('summaries'):
mean = tf.reduce_mean(var)
tf.summary.scalar('mean', mean)
with tf.name_scope('stddev'):
stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean)))
tf.summary.scalar('stddev', stddev)
tf.summary.scalar('max', tf.reduce_max(var) )
tf.summary.scalar('min', tf.reduce_min(var))
tf.summary.histogram('histogram', var)
兩種寫法
1.建模型的時候使用name_scope,graph才會清楚一點,
tf.summary.scalar(tags, values)
tf.summary.histogram("name",tensor)
tf.summary.image("name",tensor,10)
# ...
merged = tf.summary.merge_all()
Writer = tf.summary.FileWriter(path, graph=sess.graph)
for epoch in XXX:
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
summary = sess.run([merged,optimizer],options=run_options,
run_metadata=run_metadata)
Writer.add_run_metadata(run_metadata,"epoch %d"%epoch)
Writer.add_summary(summary, global_step)
2.邊寫邊 addsummary
summary_writer = tf.summary.FileWriter(logdir)
"""
.
.
.
"""
summary = tf.Summary(value=[
tf.Summary.Value(tag="summary_tag", simple_value=0),
tf.Summary.Value(tag="summary_tag2", simple_value=1),
])
# x代表橫軸座標
summary_writer.add_summary(summary, x)
或者
summary_writer = tf.summary.FileWriter(logdir)
summary = tf.Summary()
summary.value.add(tag="summary_tag", simple_value=0)
summary.value.add(tag="summary_tag2", simple_value=1)
# x代表橫軸座標
summary_writer.add_summary(summary, x)
implement
demo1,第一種做法, 使用我的前一篇文章實作
demo2, 第二種做法
import tensorflow as tf
summary_writer = tf.summary.FileWriter('/tmp/test')
summary = tf.Summary(value=[
tf.Summary.Value(tag="summary_tag", simple_value=0),
tf.Summary.Value(tag="summary_tag2", simple_value=1),
])
summary_writer.add_summary(summary, 1)
summary = tf.Summary(value=[
tf.Summary.Value(tag="summary_tag", simple_value=1),
tf.Summary.Value(tag="summary_tag2", simple_value=3),
])
summary_writer.add_summary(summary, 2)
summary_writer.close()
---------------------
作者:EncodeTS
來源:CSDN
原文:https://blog.csdn.net/EncodeTS/article/details/54172807
版權宣告:本文為博主原創文章,轉載請附上博文連結!
references:
https://blog.csdn.net/EncodeTS/article/details/54172807