做爲神經網絡訓練中最常用的可視化工具,Tensorboard經常在Pytorch和Tensorflow框架中做爲可視化工具。但是其使用的確是有點繁瑣,所以開設了一個這樣的專題,用於總結見過的工程裏面的數據Logger設定方法。希望自己能夠通過積累慢慢掌握這個工具。
一、YOLO-Pytorch版中的Logger
在陳老師這裏做DAC比賽,讓我有機會把YOLO工程整個擼了一遍。此工程中的數據保存相對簡單,只使用了一個封裝好的類Logger。
代碼的utils文件夾下專門有一個logger.py文件完成類的書寫:
import tensorflow as tf
class Logger(object):
def __init__(self, log_dir):
"""Create a summary writer logging to log_dir."""
# 創建一個數據保存器,給定文件路徑
self.writer = tf.summary.FileWriter(log_dir)
def scalar_summary(self, tag, value, step):
"""Log a scalar variable."""
# 保存標量,tag爲標籤,value是此次數值,step是時間節點
summary = tf.Summary(value=[tf.Summary.Value(tag=tag, simple_value=value)])
self.writer.add_summary(summary, step)
def list_of_scalars_summary(self, tag_value_pairs, step):
"""Log scalar variables."""
# 保存多個標量值,tag_value_pairs是tag和value做爲數據對存放在其中
summary = tf.Summary(value=[tf.Summary.Value(tag=tag, simple_value=value) for tag, value in tag_value_pairs])
self.writer.add_summary(summary, step)