用tensorboard实现scalars(图表)可视化。
文章目录
1.初始化日志文件
首先需要引入下面的代码,这些代码的位置在main.py里面。
其中,logdir是存放日志文件的目录。
import tensorflow as tf
logdir = './tensorboard/test1/'
summary_writer = tf.summary.create_file_writer(logdir)
项目结构如下:
2.构造图表
然后需要在训练的地方加上下述代码。
在这里,我是把loss给记录下来。step表示步长,是tensorboard折线图中的横坐标,一般用当前的epoch来表示。此处纵坐标就是loss值了。
with summary_writer.as_default():
tf.summary.scalar('d_loss', d_loss, step=epoch)
tf.summary.scalar('g_loss', g_loss, step=epoch)
3.运行命令,成功打开tensorboard
此时需要点击屏幕下方的“terminal”按钮
点击这个小小的倒三角之后,再点击“command prompt”。
进入日志文件所在的文件夹。(我这里是进入tensorboard文件夹)
现在到了最后一步,需要运行下面的命令。
tensorboard --logdir=test1 --port=6007
logdir指明了日志文件夹是哪个,我这里的日志文件夹是test1。
port指明了程序运行的端口号。我使用的端口号是6007。
运行成功后,出现如下内容。点击链接,就可以跳转到tensorboard啦!
tensorboard将训练过程可视化,可以实时地看到当前的训练状态。
PS:出现错误:No dashboards are active for the current data set
当然我在第一次使用的时候,并没有成功跳转到上述界面,而是跳转到如下界面。
原因1:可能此时程序还没有运行,日志文件里面还没有数据,所以自然无法呈现出图表。
解决方案:启动程序,开始运行,直到日志文件中有数据了之后,再刷新界面试试看。
原因2:日志文件的路径写错了,tensorboard找不到文件。
logdir = './tensorboard/test1/'
解决方案:更正日志文件的路径。
扫描二维码关注公众号,回复:
15399005 查看本文章
原因3:原来设定的端口6007正在被其他进程占用。
tensorboard --logdir=test1 --port=6007
解决方案:更换端口为其他数字(6006,6008,6009等等)。