tensorboard

tensorboard是tensorflow训练网络的可视化工具。这篇博客主要论述tf.summary怎样记录训练过程中的标量信息。

tf.summary.scalar(tags, values, collections=None, name=None)
用来记录标量信息

  • tags:tensorboard中的名字
  • values:要记录的标量信息

但是该函数并不会立刻执行,只有当sess.run调用这个操作的时候,该函数才会被执行。这个函数相当于定义了一个操作,定义了一个节点。当程序中定义了多个写日志操作时,一一调用函数比较麻烦,运行tf.merge_all_summaries()函数可以把代码中定义的所以写日志操作执行一遍,从而将所有日志写入文件。

sess.run(tf.merge_all_summaries())运行写日记操作

writer.add_summary()把日志写入文件

在训练神经网络的时候,tf.summary的代码如下:(为了方便观看,我把训练函数的代码贴在下面)

def train():
    global_steps = tf.Variable(0, trainable=False)
    train_op = tf.train.AdamOptimizer(1e-3).minimize(cnn_model.loss, global_step=global_steps)
    sess = tf.Session()
    sess.run(tf.global_variables_initializer())
    loss_summary = tf.summary.scalar('loss', cnn_model.loss)
    accuracy_summary = tf.summary.scalar('acc', cnn_model.accuracy)
    train_summary_op = tf.summary.merge([loss_summary, accuracy_summary])
    writer = tf.summary.FileWriter('D:\\CNN_and_RNN\\tensorboard', sess.graph)
    for i in range(0, num_epoch):
        batch_train = batch_iter(train_data, train_label)
        for x, y in batch_train:
            feed_dict = {cnn_model.input_x: x, cnn_model.input_y: y, cnn_model.keep_pro: 0.5}
            current_step = sess.run(global_steps)
            if current_step % 100 == 0:
                s = sess.run(train_summary_op, feed_dict=feed_dict)
                writer.add_summary(s, current_step)
                print(current_step)
            sess.run(train_op, feed_dict=feed_dict)

打开tensorboard的方法:

  1. 进入日志文件的上级目录,在本例中是“D:\CNN_and_RNN”
  2. 打开cmd,输入tensorboard --logdir=tensorboard即可,cmd中会跳出一个网址,打开网址即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值