Tensorboard错误:当前数据集

时间:2017-11-04 17:27:10

标签: python-3.x tensorflow tensorboard

我正在尝试使用Tensorboard,但每次使用Tensorflow运行任何程序时,当我转到localhost:6006以查看可视化时出现错误

这是我的代码

a = tf.add(1, 2,)
b = tf.multiply(a, 3)

with tf.Session() as sess:
    writer = tf.summary.FileWriter("output", sess.graph)
    print(sess.run(b))
    writer.close()

当我转到命令提示符并输入

tensorboard --logdir=C:\path\to\output\folder

返回

TensorBoard 0.1.8 at http://MYCOMP:6006 (Press CTRL+C to quit)

当我去localhost:6006时说明

  

当前数据集没有活动仪表板。   可能的原因:    - 您尚未将任何数据写入事件文件。    - TensorBoard无法找到您的活动文件。

我查看了此链接(Tensorboard: No dashboards are active for the current data set),但似乎无法解决此问题

我在Windows 10上运行它

我该怎么做才能解决这个问题?我是否在命令提示符中为Tensorboard提供了正确的路径?

提前谢谢

11 个答案:

答案 0 :(得分:16)

您的问题可能与您尝试启动tensorboard的驱动器以及logdir所在的驱动器有关。 Tensorboard使用冒号分隔可选的运行名称和logdir标志中的路径,因此您的路径被解释为名称为C的\ path \ to \ _put \ _文件夹。

这可以通过从与日志目录相同的驱动器中启动tensorboard或通过提供显式运行名称来解决,例如: logdir=mylogs:C:\path\to\output\folder

请参阅here以了解该问题。

答案 1 :(得分:4)

对于Windows,我有一种解决方法。

  

cd / path / to / log

     

tensorboard --logdir =。/

您可以在此处正常使用路径。 请记住,不要给它加上空格,如logdir = ./。

这给了我一个错误:

  

当前数据集没有活动的仪表板。可能的原因:-   您尚未将任何数据写入事件文件。 -TensorBoard无法   找到您的事件文件。

答案 2 :(得分:1)

嗯,您的代码有几个问题。

  1. 您正在创建一个摘要编写器(tf.summary.FileWriter),但您实际上并未编写任何内容。 print(sess.run(b))与tensorboard无关,如果你预计这会对它产生一些影响。它只打印b
  2. 的值
  3. 您不会创建并summary反对将某些值与。
  4. 相关联
  5. 您可能输入了错误的文件夹for tensorboard。
  6. 更多分析:

    1. 您需要summary object来撰写摘要。例如,tf.summary.scalar将标量写入摘要。就像是 tf.summary.scalar("b_value", b)b的值写入摘要。
    2. 然后,您实际上需要将摘要操作运行到会话中以使其正常工作,例如:summary = sess.run(summary_scalar)
    3. 使用您之前定义的编写器写入值:writer.add_summary(summary)
    4. 现在有一些东西可以在tensorboard中看到,使用 终端中的tensorboard --logdir=output
    5. 一般情况下,您可能需要tf.summary.merge_all()传递给run才能收集所有摘要。
    6. 希望这有帮助。

答案 3 :(得分:1)

tensorboard 目录中找到main.py的路径,然后复制。它应该是这样的:

C:/Users/<Your Username>/Anaconda3/envs/tensorflow/Lib/site-packages/tensorboard/main.py

C:/Users/<Your Username>/anaconda/envs/tf/lib/python3.5/site-packages/tensorboard/main.py

知道正确的路径后,使用 tensorboard 目录中main.py的路径在Anaconda Prompt中运行此命令。这对我来说非常适合 Windows

python C:/Users/Username/Anaconda3/envs/tensorflow/Lib/site-packages/tensorboard/main.py --logdir=foo:<path to your log directory>

致谢:KyungHoon Kim

答案 4 :(得分:0)

当我运行TensorFlow(https://www.tensorflow.org/programmers_guide/tensorboard_histograms)教程时,遇到了同样的问题。我继续尝试上面的hpabst引用的解决方案。它像冠军一样工作。在终端(我在CentOS中运行) - 我跑了:tensorboard --log =mydir: '~/mlDemo/'

答案 5 :(得分:0)

我也在使用Windows 10。我尝试使用相同驱动器,不同驱动器和本地路径运行tensorboard的代码。在所有这三种情况下,我都能看到图表。

一个解决方案是,您可能需要更改主机(我无法使用localhost:6006进行可视化)。尝试http://MYCOMP:6006检查您是否发现任何差异。

注意:我的张量板版本是1.8.0(也许你可以更新你的张量板,看它有任何区别)

答案 6 :(得分:0)

遇到此问题时,关闭计算机后它开始工作。但是,我不知道它为什么起作用。

答案 7 :(得分:0)

尝试以下方法:

tensorboard --logdir="C:\path\to\output\folder"

答案 8 :(得分:0)

在Windows 10中,此命令有效

tensorboard --logdir=training/

此处培训是写入输出文件的目录。请注意,它没有任何引号,并且在末尾带有斜杠(/)。两者都很重要。

答案 9 :(得分:0)

观察到张量流进入不良状态后,每次都会引发问题,因为在随后的运行中,

  1. 它不会自动终止以前的进程
  2. 启动仪表板时使用以前的状态

缓解不良状态的步骤:

  1. 杀死所有正在运行的张量板进程。
  2. 清除以前的张量板状态。

在jupyter笔记本中

! powershell "echo 'checking for existing tensorboard processes'"
! powershell "ps | Where-Object {$_.ProcessName -eq 'tensorboard'}"

! powershell "ps | Where-Object {$_.ProcessName -eq 'tensorboard'}| %{kill $_}"

! powershell "echo 'cleaning tensorboard temp dir'"
! powershell "rm $env:TEMP\.tensorboard-info\*"

! powershell "ps | Where-Object {$_.ProcessName -eq 'tensorboard'}"


%tensorboard --logdir="logs\fit" --host localhost

如果在jupyter中超时,则在浏览器中转到http://localhost:6006/#scalars并检查

答案 10 :(得分:0)

尝试将目录放在引号内。

示例:

tensorboard --logdir="C:/Users/admin/Desktop/ML/log"