tensorboard初探(tensorflow的显示)

1. 在D盘下建立cgx路径,并在其中打开jupyter notebook,建立cgx_program.ipynb文件,如下图:
tensorboard初探(tensorflow的显示)_第1张图片
建立程序文件.jpg

在cgx_program.ipynb文件中写入以下测试代码:

import tensorflow as tf
a_cgx = tf.constant([1.0,2.0,3.0],name='input1_cgx') #定义一个常量
b_cgx = tf.Variable(tf.random_uniform([3],name='input2_cgx')) #定义一个变量
add_cgx = tf.add_n([a_cgx,b_cgx],name='addOP_cgx') #将其相加
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    writer = tf.summary.FileWriter("D:/cgx/test",sess.graph) #指定绝对路径建立test目录
#     writer = tf.summary.FileWriter("D/cgx/test",sess.graph) #在当前目录下的后续路径中建立test目录(注意与前面的绝对区别)
#     writer = tf.summary.FileWriter("./test",sess.graph) #在当前路径下建立test目录
#     writer = tf.summary.FileWriter("test",sess.graph) #在当前路径下建立test目录
    print(sess.run(add_cgx))
# writer.close()

注意:writer = tf.summary.FileWriter("D:/cgx/test",sess.graph),是该程的主要语句,他指定目录(test)用于存储sess.graph文件(后面用于tensorboard显示),如果没有这个目录,则生成该目录。

2. 程序第一次(特别强调是第一次)运行后,在目录test中产生了一个文件(如下图):
tensorboard初探(tensorflow的显示)_第2张图片
生成文件.jpg
3. 任意方式打开一个命令窗口(cmd)

输入如下命令:
tensorboard --logdir=D:/cgx/test
上述命令输入了“D:/cgx/test”这个绝对路径,还可以用相对路径,如下图,下图中三种方式结果相同,只是“绝对路径”和“相对路径”的区别。
注意图片中的:注意事项!

tensorboard初探(tensorflow的显示)_第3张图片
tensorboard生成图像.jpg

输入上述命令后回车,得到如下结果:
tensorboard建图完成.jpg

4. 然后打开chrome浏览器(其他浏览器可能出错),网址中输入:http://localhost:6006

(注意不是直接把cmd中的http://SeanLi:6006黏贴到浏览器中,必须把“SeanLi”换成“localhost”才行),如果一切正常,那么回车后自动在浏览器中打开对应结果,如下图:

tensorboard初探(tensorflow的显示)_第4张图片
最终结果.jpg

5. 注意事项:

(1)程序每执行一次(无论是否关了重新打开),都会生成一个新的events文件,不会覆盖已经存在的文件,如下图:

多个events文件.jpg

(2)程序在多次重复运行的情况下(在单次打开的基础上,而非关了重打开),最新保存的events文件会重复记录前面每一次执行过程的图流情况(如下图),直到程序与服务器断开,再重新连接并运行后,才把前面的流图从内存中清除(程序中加了:tf.reset_default_graph()语句时,每次运行都清除前面结果):

tensorboard初探(tensorflow的显示)_第5张图片
多次执行程序.jpg

(3)当一个目录中有多个events文件时,tensorboard绘图时会根据时间挨个识别,然后用新的Overwriting前面的,即最后绘制最新的那一个,如下图:

tensorboard初探(tensorflow的显示)_第6张图片
tensorboard.jpg

(4)正常使用tensorboard时,cmd窗口不能关闭(也不能按Ctrl+C,关闭当前tensorboard),否则浏览器刷新后失效。

(5)tensorflow程序正常执行未关闭,也没有跟服务器断开,同时程序对应的流图也在tensorboard中正常展示。此时,再次执行程序后,可以通过按f5或其他方式刷新浏览器,直接得到最新的流图。而且此时删除events文件,并不会对结果产生影响,因为tensorboard是直接从后台关联的graph。但是当程序与服务器断开后,再次刷新浏览器,结果会消失。

(6)当浏览器中tensorboard不能打开时,尝试在终端按Ctrl+C结束当前tensorboard,然后重新打开。

6. 参考博客:

https://blog.csdn.net/fendouaini/article/details/80344591
https://blog.csdn.net/gg_18826075157/article/details/78440766
https://blog.csdn.net/sinat_33761963/article/details/62433234
https://blog.csdn.net/weixin_40056577/article/details/79504600

你可能感兴趣的:(tensorboard初探(tensorflow的显示))