win10 Tensorflow Tensorboard 空白解决

Tensorboard记录11.19

Tensorflow入门,踩一些坑还是难免的,就在这里记录下,同时能够给遇到同样问题的人一个参考。

  1. Tensorboard 打开一片空白
    环境是Tensorflow 1.2,python3.5.2,windows10.

    cmd输入(我的events.out.tfevents.1510831908文件存放于D://aa_work//mnist文件夹下):
    tensorboard –logdir=D://aa_work//mnist
    不论什么浏览器都无法显示,只是一片空白,但浏览器标签会有TensorBoard字样。
    网上大部分回答都是针对上面命令的logdir格式错误,尝试多种还是没有效果。
    最后还是通过知乎上面的一些回答,猜测可能是版本问题
    cmd下执行下面命令升级后即可解决(Tensorflow 1.4),注意的是升级tensor会重新安装不带mkl的numpy,导致sklearn库错误,重装带mkl的numpy即可,成功:
    pip install -U -I setuptools
    pip install -U tensorflow

  2. Tensorboard 同时显示测试集准确率和验证集准确率
    大部分教程都是创建许多tf.summary.scalar后,直接使用merge_all_summaries 然后summary_writer.add_summary写入了事,但这造成所有summary对象一起写入,对于我们需要同时显示测试集准确率和验证集准确率的需求,会造成两个图像一摸一样,我们需要在不同的feed的情况下分别写入summary,百度了很久还是没有类似的解决方案,最后只好通过google,第一个stackflow就是需要的答案(搜技术还是google有用),以下就是提供的解决方案,可以同一个accuary,但是定义不同的summary,然后直接将summary对象分别写入即可。
    https://stackoverflow.com/questions/34471563/logging-training-and-validation-loss-in-tensorboard
accuracy = tf.reduce_mean(correct)

training_summary = tf.summary.scalar("training_accuracy", accuracy)
validation_summary = tf.summary.scalar("validation_accuracy", accuracy)


summary_writer = tf.summary.FileWriter(...)

for step in xrange(NUM_STEPS):

  # Perform a training step....

  if step % LOG_PERIOD == 0:

    # To log training accuracy.
    train_acc, train_summ = sess.run(
        [accuracy, training_summary], 
        feed_dict={images : training_set.images, labels : training_set.labels})
    writer.add_summary(train_summ, step) 

    # To log validation accuracy.
    valid_acc, valid_summ = sess.run(
        [accuracy, validation_summary],
        feed_dict={images : validation_set.images, labels : validation_set.labels})
    writer.add_summary(valid_summ, step)

你可能感兴趣的:(tensorflow)