TensorBoard可视化介绍

TensorFlow提供了一个可视化工具TensorBoard,他的作用是可以把复杂的训练过程可视化,可以更好理解、调优、优化程序。TensorBoard可以将训练过程中的各种该数据展示出来,包括标量、图片音频,计算图,数据分布、直方图和嵌入式向量。他会自动读取最新的TensorFlow日志文件,呈现当前的程序运行的最新状态。

TensorFlow提供了一系列API来生成这些数据,具体如表3所示。

表3 模型操作相关函数

函   数

说   明

tf.summary.scalar(tags,values,collections=None,

name=None)

标量数据汇总,输出protobuf

tf.summary.histogram(tags,values,collections=None,

name=None)

记录变量var的直方图,输出带直方图的汇总的protobuf

tf.summary.image(tags,tensor,max_images=3

,collections=None,name=None)

图像数据汇总,输出protobuf

tf.summary.merge(inputs,,collections=None,

name=None)

合并所有的汇总日志

tf.summary.FileWriter

创建SummaryWriter

class SummaryWriter:

add_summary(),add sessionlog(),add_event(),or add_graph()

将protobuf写入文件的类

 

实例:线性回归的TensorBoard可视化

为线性回归模型添加支持输出TensorBoard信息的功能,演示通过TensorBoard来观察训练过程。本例在线性回归模型上做少量改动,使其添加支持TensorFlow的功能。第一步加入到summary,第二步写入文件。

将模型的生成值加入到直方图数据中,将损失值加入到标量中,代码如下:

代码13 线性回归模型的TensorBoard可视化

运行代码后生成的路径下会多出如图5所示文件:

图5 summary文件

然后打开终端,来到summary日志的上一级目录下,输入代码:tensorboard --logdir=mnist_with_summaries 回车之后会出现如图6结果:

图6 启动TensorBoard

复制网址到浏览器(建议使用Chrome浏览器),即可看到如图7TensorBoard界面。

图7 TensorBoard界面

单击SCALARS,会看大之前创建的loss_fuction如图8:

图8 TensorBoard标量

猜你喜欢

转载自blog.csdn.net/charles_zhang_/article/details/92992120