tensorboard 流程

纯粹作为记录。

在原有程序的基础上,添加tensorboard可视化的流程

1 图的表示

1.1 添加tf.name_scope

name_scope是命名,只有添加了name_scope,才能在tensorboard里显示出一个“块”

在namespace下面的变量,一定要注意加上name的参数,如

    with tf.name_scope('layer'):
        weights = tf.Variable(tf.random_normal([input_shape, output_shape]), name='weights')
        biases = tf.Variable(tf.zeros([1, output_shape])+0.01, name='biases')
        out = tf.matmul(input_data, weights) + biases

1.2 添加Filewriter

添加了这个元素以后,还能把需要的显示的元素写进文件里。

writer = tf.summary.FileWriter('logs/', sess.graph)

通过以上两步就可以把“图”写进文件当中,文件保存在当前目录下的“logs”文件夹下。

1.3 在terminal里运行tensorboard

运行tensorboard,需要在terminal中运行,不是在程序中运行,而且必须“logs”文件夹下面有文件。

tensorboard --logdir=logs

在这里一定要注意参数--logdir,参数输入的是文件夹的名字,在 tensorboard 1.8.0 版本里,一定不能加引号,加了引号之后就找不到文件了。

最后出现

TensorBoard 1.8.0 at http://XXXXXXX:6006 (Press CTRL+C to quit)

把网址粘贴到chrome、firefox、safari等浏览器中,官方说明这几个浏览器的最新版都是支持tensorboard的,其他浏览器很难说,已知360就不能显示。

这时候选中graph,就可以显示图了

 

2 数据的表示

以上只是显示了图,如果要显示数据的话,比如说每一步的loss是多少?

需要添加另外的代码

2.1 添加scalar

scalar是创建曲线图的必要数据,需要在要显示的部分里添加,如loss(或者 accuracy 等)

with tf.name_scope('loss'):
    loss = tf.losses.mean_squared_error(y_label, y_pred)
    tf.summary.scalar('loss', loss)

2.2 融合数据

使用merge_all函数把前面的scalar融合在一起,只有进行的这一步才可以把数据写到文件里。

merged = tf.summary.merge_all()

当然如果只是想显示某部分数据,如在前面添加了loss和accuracy的scalar,现在只是想把loss数据写到文件,就可以用到另外一个函数

tf.summary.merge() 函数,至于用法以后再说吧,一般用merge_all就可以了

2.3 add_summary

首先在run里面,必须先添加merged,然后得到_merged后,再调用add_summary函数

    for i in range(train_steps):
        merged_, train_op_ = sess.run([merged, train_op])
        if i % 1000 == 0:
            writer.add_summary(merged_, i)
            loss_ = sess.run(loss)
            print('step:', i, ', loss is:', loss_)

之前一直出错,就是直接把merged当做是参数放在add_summary里调用,原因是merged是一个tensor,而tensor是不能直接添加,所以必须用run函数把tensor变成数据,才可以写进进文件。

2.4 显示数据图表

重复1.3,选中scalars标签,就可以显示loss,这里总共10000步,每1000步写一个数据,最终有10个数据写进去了。

 

纯粹记录一下,更深入的应用以后再添加吧

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值