python summary writer_tensorflow中summary操作
tf中 tensorboard 工具通過讀取在網絡訓練過程中保存到本地的日志文件實現數據可視化,日志數據保存主要用到 tf.summary 中的方法。
tf.summary中summary是tf中的一個py文件,位置在 '/tensorflow/python/summary/' 文件夾下,提供了像tf.summary.scalar、tf.summary.histogram等方法,用來把graph圖中的相關信息,如結構圖、學習率、準確率、Loss等數據轉換成 protocol buffer 數據格式,然后再調用tf.summary.FileWriter方法把這些數據寫入到本地硬盤,之后就可以借用 tensorboard 工具可視化這些數據。
標量數據匯總和記錄
標量,單個數值保存用 tf.summary.scalar,一般用來保存loss,accuary,學習率等數據,比較常用。tf.summary.scalar(name, tensor, collections=None, family=None)name: ?給保存的數據的命名;
tensor: 要保存的tensor,在scalar函數中應該是一個標量,如當前的學習率、Loss等;
collections: 定義保存的數據歸于哪個集合,默認的集合是 '[GraphKeys.SUMMARIES]';
family:可選參數,如果定義,在Tensorboard顯示的時候,將作為前綴加在變量名前;
變量var的直方圖匯總和記錄
tf.summary.histogram 輸出帶直方圖的匯總的protobuf 數據。tf.summary.histogram(tag, values, collections=None, name=None)
變量var的圖像匯總和記錄
tf.summary.image(name, tensor, max_outputs=3, collections=None, family=None)
合并匯總
使用 tf.summary.merge(inputs, collections=None, name=None) 對指定的匯總進行合并。
使用 tf.summaries.merge_all(key=_ops.GraphKeys.SUMMARIES) 對所有的匯總進行合并。
啟動所有的匯總操作
merged = tf.summaries.merge_all(key=_ops.GraphKeys.SUMMARIES)
summary, acc = sess.run([merged, accuracy], feed_dict=feed_dict(False))數據寫入本地磁盤
數據寫入本地使用 tf.summary.FileWriter 類中的方法。summary_writer = tf.summary.FileWriter(args.log_dir, sess.graph)
構造函數:__init__(self,
logdir,
graph=None,
max_queue=10,
flush_secs=120,
graph_def=None,
filename_suffix=None)logdir:事件文件保存目錄
graph: graph(圖)對象,例如 sess.graph
max_queue: 隊列中事件和概要的最大數量,默認為10;
flush_secs: 事件和概要保存到本地磁盤的間隔,默認120S;
graph_def: 舊版本的graph,已棄用;
filename_suffix: 可選參數,事件文件的后綴。
事件和匯總加入summary_writer
summary_writer.add_run_metadata(run_metadata, 'step%03d'% i)
summary_writer.add_summary(summary, i)
總結
以上是生活随笔為你收集整理的python summary writer_tensorflow中summary操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android来电事件,android
- 下一篇: ipad如何连接电脑_电脑无法连接外网远