tensorboard及tensorboardX基本介绍
tensorboard是谷歌开发的一款可用于tensorflow训练数据监控的可视化图形界面。并包含理解,调试和优化模型的其他工具。
而pytorch后面也放弃了自研的可视化组件,转而也支持了改可视化工具,可直接通过 from torch.utils.tensorboard import SummaryWriter
使用,前提是需要先安装好tensorboard
,如何安装见下文;
而tensorboardX
则社区版的基于tensorboard
但是,却可以脱离tensorflow
而独立使用的组件(之前的tensorboard是需要基于tensorflow的);
tensorboardX
安装后,可以正常import进入项目,并记录日志;但在真正查看tensorboardX输出的数据时,需要使用tensorboard --logdir <dir>
命令,该命令的使用是需要安装tensorboard
的
conda下安装tensorboard
使用conda安装
conda install tensorboard
conda install tensorboardx
2、tensorboard
的基本使用
1、创建一个tensorboard-test.py
代码如下
# tensorboard-test.py
from tensorboardX import SummaryWriter
# 创建一个"my-log"的tensorboard日志
writer = SummaryWriter("my-log")
for i in range(100):
writer.add_scalar("a", i, global_step=i)
writer.add_scalar("b",i**2, global_step=i)
writer.close()
以上代码,执行后,将在执行目录下,创建一个
my-log
的文件夹
2、展示日志
打开命令终端,
cd my-log
tensorboard --logdir ./
浏览器输入http://loclahost:6006
除了在本地运行之外,还可以远程运行 TensorBoard。 如果我们在具有更强大 GPU 的不同服务器之间进行并行训练,也可以本地检查结果。
默认使用6006端口,如需要修改端口启动可使用tensorboard --logdir <dir-log> --port <port-num>
默认使用6006端口,如需要修改端口启动可使用tensorboard --logdir <dir-log> --port <port-num>
tensorboard
集成在jupyter-notebook
打开jupyter-notebook
$ jupyter-notebook
输入如下
%load_ext tensorboard
%tensorboard --port {PORT} --logdir {BASE_DIR}
完整代码参考如下
tensorboard支持的可视化数据类型
(1)标量Scalars:存储和显示诸如学习率和损失等单个值的变化趋势
(2)图片Images:对于输入是图像的模型,显示某一步输入给模型的图像
(3)音频Audio:显示可播放的音频
(4)计算图Graph:显示代码中定义的计算图,也可以显示包括每个节点的计算时间、内存使用等情况
(5)数据分布Distribution:显示模型参数随迭代次数的变化情况
(6)直方图Histograms:显示模型参数随迭代次数的变化情况
(7)嵌入向量Embeddings:在3D或者2D图中展示高维数据
(8)文本Text:显示保存的一小段文字