做为神经网络训练中最常用的可视化工具,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)