更多详细参见:
https://www.tensorflow.org/tensorboard/
或者
https://tensorflow.google.cn/tensorboard
速览
-
基础
- 安装
- 使用
- 运行
- 共享
-
torch.utils.tensorboard
torch.utils.tensorboard.writer.SummaryWriter(log_dir=None, comment='', purge_step=None, max_queue=10, flush_secs=120, filename_suffix='') add_scalar(tag, scalar_value, global_step=None, walltime=None, new_style=False, double_precision=False) add_scalars(main_tag, tag_scalar_dict, global_step=None, walltime=None) add_histogram(tag, values, global_step=None, bins='tensorflow', walltime=None, max_bins=None) add_image(tag, img_tensor, global_step=None, walltime=None, dataformats='CHW') add_images(tag, img_tensor, global_step=None, walltime=None, dataformats='NCHW') add_figure(tag, figure, global_step=None, close=True, walltime=None) add_video(tag, vid_tensor, global_step=None, fps=4, walltime=None) add_audio(tag, snd_tensor, global_step=None, sample_rate=44100, walltime=None) add_text(tag, text_string, global_step=None, walltime=None) add_graph(model, input_to_model=None, verbose=False, use_strict_trace=True) add_embedding(mat, metadata=None, label_img=None, global_step=None, tag='default', metadata_header=None) add_pr_curve(tag, labels, predictions, global_step=None, num_thresholds=127, weights=None, walltime=None) add_custom_scalars(layout) add_mesh(tag, vertices, colors=None, faces=None, config_dict=None, global_step=None, walltime=None) add_hparams(hparam_dict, metric_dict, hparam_domain_discrete=None, run_name=None) flush() close()
基础
-
为了运行
TensorBoard
,安装(为了使用完整功能,装个TensorFlow)$ pip install tensorboard
-
使用
from torch.utils.tensorboard import SummaryWriter writer = SummaryWriter() writer.add_scalar("Loss/train", loss, epoch) writer.flush() writer.close()
-
运行
$ tensorboard --logdir=runs
打开URL--http://localhost:6006/
-
共享TensorBoard dashboards
注意:上传数据是公开的,不要上传敏感数据
-
保持最新版本
$ pip install tensorboard --upgrade
-
上传实验记录(TensorBoard格式的)
$ tensorboard dev upload --logdir runs \ --name "My latest experiment" \ # optional --description "Simple comparison of several hyperparameters" # optional
-
查询帮助
$ tensorboard dev --help
使用在终端提供的URL在线查看你的TensorBoard
torch.utils.tensorboard
-
torch.utils.tensorboard.writer.SummaryWriter(log_dir=None, comment='', purge_step=None, max_queue=10, flush_secs=120, filename_suffix='')
简介:定义SummaryWriter类对象
log_dir (string):保存目录。默认
./runs/current_datatime_hostname
,可以为每次实验指定目录如'runs/exp1','runs/exp2'comment (string):添加到
log_dir
的后缀,当指定log_dir
时忽略此参数purge_step (int):当记录在第T + X步崩溃崩溃并在第T步重启时,大于等于T的
global_step
的记录会从TensorBoard中删除和隐藏。注意崩溃和重启的实验应有相同的log_dir
max_queue (int):指定
add
多少个记录后强制flush
到硬盘。默认为10flush_secs (int):flush的频率(写到硬盘的频率),单位秒,默认两分钟
filename_suffix (string):
-
add_scalar(tag, scalar_value, global_step=None, walltime=None, new_style=False, double_precision=False)
介绍:向记录中添加标量数据(Add scalar data to summary)
tag (string):数据标识符
scalar_value (float or string/blobname):保存的值
global_step (int):全局的step值(多少iter或epoch)
walltime (float):
new_style (boolean):是使用新的风格(tensor)还是旧的风格(简单的值)。新风格数据加载更快
-
add_scalars(main_tag, tag_scalar_dict, global_step=None, walltime=None)
简介:向记录中添加多个标量数据
main_tag (string):标签的父名称
tag_scalar_dict (dict):存放标签和对应值的Key-value对
global_step (int):
walltime (float):
-
add_image(tag, img_tensor, global_step=None, walltime=None, dataformats='CHW')
简介:添加图片
img_tensor (torch.Tensor, numpy.array, string/blobname) :图片数据
img_tensor:默认(3,H,W),可以使用
torchvision.utils.make_grid()
将一个batch的tensor转为3xHxW格式或者直接调用add_images
。dataformats
应该和tensor一致。 -
add_images(tag, img_tensor, global_step=None, walltime=None, dataformats='NCHW')
dataformats:图像数据格式,NCHW、NHWC、CHW、HWC、HW、WH等
image_tensor:默认(N, 3, H, W)
-
add_figure(tag, figure, global_step=None, close=True, walltime=None)
简介:将matplotlib figure渲染到图像中并添加到summary
figure (matplotlib.pyplot.figure):一个figure或一个figure组成的列表
close (bool):是否自动关闭figure
-
add_text(tag, text_string, global_step=None, walltime=None)
简介:添加文本
-
add_graph(model, input_to_model=None, verbose=False, use_strict_trace=True)
简介:添加graph
model (torch.nn.Module):需要绘制的Model
input_to_model (torch.Tensor or list of torch.Tensor):一个变量或一个由变量组成tuple
verbose (bool):是否在控制台打印图结构
use_strict_trace:
-
add_embedding(mat, metadata=None, label_img=None, global_step=None, tag='default', metadata_header=None)
简介:添加embedding projector data,(样本的高维特征在低维上显示分布)
mat (torch.Tensor or numpy.array):一个每行代表一个数据点的特征的矩阵
metadata (list):a list of labels,每一个元素将被转成string
label_img (torch.Tensor):图像对应每个数据点
mat: (N, D), N是样本数,D是特征维度
label_img: (N, C, H, W)
-
add_pr_curve(tag, labels, predictions, global_step=None, num_thresholds=127, weights=None, walltime=None)
简介:添加PR曲线。绘制pr曲线来了解不同阈值时模型性能。需要为每个target提供预测得分以及ground truth label(T/F)。
labels (torch.Tensor, numpy.array, or string/blobname):ground truth data,二元label
predictions (torch.Tensor, numpy.array, or string/blobname):一个元素被分类正确的概率
num_thresholds (int):用来绘制曲线使用的阈值个数
-
add_histogram(tag, values, global_step=None, bins='tensorflow', walltime=None, max_bins=None)
简介:添加直方图
-
add_video(tag, vid_tensor, global_step=None, fps=4, walltime=None)
简介:添加视频
-
add_audio(tag, snd_tensor, global_step=None, sample_rate=44100, walltime=None)
简介:添加音频
-
add_custom_scalars(layout)
简介:通过收集
scalars
中的tag
创建特殊图表。每个SummaryWriter对象只能调用一次,只能在训练循环的开始之前或结束之后调用。 -
add_mesh(tag, vertices, colors=None, faces=None, config_dict=None, global_step=None, walltime=None)
简介:添加meshes或3D点云
-
add_hparams(hparam_dict, metric_dict, hparam_domain_discrete=None, run_name=None)
简介:添加一系列超参数来比较
flush()
close()