如何在Tensorflow中使用Tensorboard实现可视化

  介绍

这篇文章将为大家详细讲解有关如何在Tensorflow中使用Tensorboard实现可视化,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<强> Tensorboard:

如何更直观的观察数据在神经网络中的变化,或是已经构建的神经网络的结构。上一篇文章说到,可以使用matplotlib第三方可视化,来进行一定程度上的可视化。然而Tensorflow也自带了可视化模块Tensorboard,并且能更直观的看见整个神经网络的结构。

如何在Tensorflow中使用Tensorboard实现可视化

上面的结构图甚至可以展开,变成:

如何在Tensorflow中使用Tensorboard实现可视化

<强>使用:

结构图:

with  tensorflow  .name_scope (layer_name):

直接使用以上代码生成一个带可展开符号的一个域,并且支持嵌套操作:

with  tf.name_scope (layer_name):,   with 才能;tf.name_scope(& # 39;重量# 39;):

节点一般是变量或常量,需要加一个“name=& # 39;”参数,才会展示和命的名,如:

with  tf.name_scope(& # 39;重量# 39;):,   Weights 才能=,tf.Variable (tf.random_normal ([in_size out_size]))

如何在Tensorflow中使用Tensorboard实现可视化

结构图符号及意义:

如何在Tensorflow中使用Tensorboard实现可视化

<强>变量:

变量则可使用Tensorflow.histogram_summary()方法:

tf.histogram_summary (layer_name +“/weights"权重),#名命的名,权重赋值

如何在Tensorflow中使用Tensorboard实现可视化

<强>常量:

常量则可使用Tensorflow.scalar_summary()方法:

tf.scalar_summary(& # 39;损失# 39;,损失),#命名和赋值

如何在Tensorflow中使用Tensorboard实现可视化

<强>展示:

最后需要整合和存储SummaryWriter:

#合并到总结中,   时间=merged  tf.merge_all_summaries (),   #选定可视化存储目录,   writer =, tf.train.SummaryWriter(“/目录“,sess.graph)

合并也是需要运行的,因此还需要:

result =, sess.run(合并),#合并也是需要运行的,   writer.add_summary才能(因此,i)

执行:

运行后,会在相应的目录里生成一个文件,执行:

tensorboard ——logdir=?目录“

会给出一段网址:

如何在Tensorflow中使用Tensorboard实现可视化

浏览器中打开这个网址即可,因为有兼容问题,firefox并不能很好的兼容,建议使用铬。

如何在Tensorflow中使用Tensorboard实现可视化

常量在事件中,结构图在图中,变量在最后两个标记中。

<强>附项目代码:

项目承接自上一篇文章(已更新至最新Tensorflow版本API r1.2):

import  tensorflow  as  tf ,   import  numpy  as  np ,   ,,   def  add_layer(输入、in_size out_size、n_layer activation_function=None):, # activation_function=没有线性函数,,   layer_name才能=安? s", %, n_layer ,   with 才能tf.name_scope (layer_name):,,   ,,,with  tf.name_scope(& # 39;重量# 39;):,,   ,,,,,Weights =, tf.Variable (tf.random_normal ([in_size out_size])), #重量中都是随机变量,,   ,,,,,tf.summary.histogram (layer_name +“/weights"权重),#可视化观看变量,,   ,,,with  tf.name_scope(& # 39;偏见# 39;):,,   ,,,,,biases =, tf.Variable (tf.zeros ([1, out_size]) + 0.1), #偏见推荐初始值不为0,,   ,,,,,tf.summary.histogram (layer_name +“/biases"偏见),#可视化观看变量,,   ,,,with  tf.name_scope (& # 39; Wx_plus_b& # 39;):,,   ,,,,,Wx_plus_b =, tf.matmul(输入、重量)+ biases 输入* # + biases 重量,   ,,,,,tf.summary.histogram (layer_name +“/Wx_plus_b" Wx_plus_b), #可视化观看变量,,   ,,,if  activation_function  is 没有:,,   ,,,,,outputs =, Wx_plus_b ,   其他,,,,,,   ,,,,,outputs =, activation_function (Wx_plus_b),,   ,,,tf.summary.histogram (layer_name +“/outputs",输出),#可视化观看变量,,   ,,,return  outputs ,   ,,   #创建数据x_data y_data ,,   时间=x_data  np.linspace (1300) (:, np.newaxis), #[1]区间,300个单位,np.newaxis增加维度,,   时间=noise  np.random.normal (0、0.05、x_data.shape), #噪点,,   时间=y_data  np.square (x_data) -0.5 + noise ,   ,,   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在Tensorflow中使用Tensorboard实现可视化