Tensorboard从入门到自己看吧
-
概述
tensorboard作为可视化的一个非常棒的工具,但是入门阶段有一些小东西,记录如下。
代码描述
代码沿用上次Blog的自增,在tensorboard记录y的值,对应应用中,我们常用来记录loss,acc等值。
import tensorflow as tf x = tf.Variable(0.0) #返回一个op,表示给变量x加1的操作 x_plus_1 = tf.assign_add(x, 1) print x_plus_1 #control_dependencies的意义是,在执行with包含的内容(在这里就是 y = x)前 #先执行control_dependencies中的内容(在这里就是 x_plus_1) with tf.control_dependencies([x_plus_1]): y = x sum_y = tf.summary.scalar('y', y) init = tf.global_variables_initializer() with tf.Session() as session: init.run() train_writer = tf.summary.FileWriter('Summaries/zfy_test', session.graph) for i in xrange(5): print(session.run(y))#相当于sess.run(y),由于control_dependencies的所以执行print前都会先 summary = session.run(sum_y) train_writer.add_summary(summary, i) train_writer.close()
tensorboard结果图
虚线为原始数据,实线为平滑过的结果。
tensorboard侧栏介绍
smoothing主要是结果平滑作用,锯齿过多时平滑更容易看出趋势。
STEP:横坐标为迭代次数。
RELATIVE:横坐标选择为相对时间(最大为1)。
WALL:横坐标选择为绝对时间。图中多线的bug
参考知乎 :https://www.zhihu.com/question/56413487/answer/260069446
多次sess.run()会导致形成多个图线,并且会画到一个图上。并且删除文件无效,需要重启tensorboard。暂时没有优雅的解决方案。