如何";重置";终止tensorflow实例后的tensorboard数据

如何";重置";终止tensorflow实例后的tensorboard数据,tensorflow,tensorboard,Tensorflow,Tensorboard,我正在为我建立的cnn模型测试不同的超参数,但在Tensorboard中查看摘要时,我有一个小麻烦。问题似乎是数据只是在连续运行中“添加”的,因此函数会导致奇怪的叠加,除非我将信息视为“相对”而不是“逐步”。请看这里: 我尝试过终止tensorboard的进程并删除日志文件,但似乎这还不够 问题是,如何重置此信息? 谢谢 好的,由于某种原因,它以前不起作用,但现在起作用了: 必须删除Tensorboard的日志文件并终止其进程 终止进程后,运行fuser 6006/tcp-k释放端口6006

我正在为我建立的cnn模型测试不同的超参数,但在Tensorboard中查看摘要时,我有一个小麻烦。问题似乎是数据只是在连续运行中“添加”的,因此函数会导致奇怪的叠加,除非我将信息视为“相对”而不是“逐步”。请看这里:

我尝试过终止tensorboard的进程并删除日志文件,但似乎这还不够

问题是,如何重置此信息?


谢谢

好的,由于某种原因,它以前不起作用,但现在起作用了:

必须删除Tensorboard的日志文件并终止其进程


终止进程后,运行
fuser 6006/tcp-k
释放端口6006(如果您在linux中)并再次启动tensorboard。

注意:您发布的解决方案(擦除tensorboard的日志文件并终止进程)将起作用,但它不是首选方案,因为它会破坏有关培训的历史信息

相反,您可以让每个新的培训作业写入一个新的子目录(顶级日志目录)。然后,TooBoo板会将每个作业视为一个新的“run”,并将创建一个漂亮的比较视图,这样您就可以看到训练在模型的迭代之间是如何不同的。p> 以下示例来自:


是的,我相信最终这方面是积极的。
例如,在我的脚本中,我通过
datetime
自动生成新的运行日志:

从日期时间导入日期时间
now=datetime.now()
logdir=“tf_logs/../”+now.strftime(“%Y%m%d-%H%m%S”)+“/”
然后,在运行TensorBoard时,如果您在父目录中运行TensorBoard,则可以单击不同的运行on和off

import shutil

shutil.rmtree('log_dir', ignore_errors=True)

如果你知道你不在乎以前的一次跑步,并且想让它从你的生活中消失,那么是的,你需要删除事件文件并重新启动TensorBoard。

我刚刚想出了这个问题的解决方案。只需将每个Events.out文件放在日志目录中的单独文件夹中。您将在tensorboard中获得一个很好的可视化效果,每次运行都使用不同的颜色。

将以下代码片段添加到您的代码中,它将自动重置tensorboard

if tf.gfile.Exists(dirpath):
   tf.gfile.DeleteRecursively(dirpath) 

这将删除以前的日志。

这将自动删除日志目录

import shutil

shutil.rmtree('log_dir', ignore_errors=True)

我有一个类似的问题,但有一个重复的计算图:当我调用tensorboard时,它们刚刚添加到tensorboard中

writer.add_graph(graph=sess.graph)
在我的例子中,它不是关于日志文件,而是关于Jupyter笔记本的上下文

我发现在使用图形定义多次运行Jupyter单元格之后,图形没有被重置,而是作为副本出现在上下文中,因此我添加了

tf.reset_default_graph()
在开始构建计算图之前


希望能有所帮助。

也有类似的问题,它引发了一个错误:“您必须为占位符张量'dense_input'提供一个值,其中包含dtype float和shape”。讨论了这一具体问题。 对我有用的建议是:

from keras.backend import clear_session
# Before instantiating a tf.data.Dataset obj & before model creation, call:
clear_session()
还要确保为每个模型的TensorBoard log_dir使用唯一的名称。然后,要查看所有模型,请在日志文件的父目录下从终端运行TensorBoard,即:

tensorboard --logdir <projDir>/logs/tf_log
tensorboard--logdir/logs/tf_log

奇怪的是,即使删除日志文件并重新启动web应用程序,它仍然显示旧数据。也许是浏览器的缓存?的确如此。你所描述的是tensorflow的一个致命特性,我已经用了很多。但有时你只需要反复检查是否一切都如你所期望的那样。这就是为什么我需要擦除所有内容并从草稿开始链接已断开:(我对二进制交叉熵和自动编码器有相同的问题。我的列值小于1,但其中一些是负数。这可能是一个问题吗?我有以下问题:x_train.min()=-0.48和x_train.max()=0.51@mjaskowski,我认为链接正在工作。2021年4月。似乎您所要做的就是删除旧目录(或重命名它)以使其刷新,但直到您传递给--reload_interval的秒数已过,它才注意到。而对于mac,它将是
lsof-I tcp:6006 | grep-v PID | awk{print$2}“| xargs kill
这不完全起作用--每次还必须关闭并重新启动TB。@Novak如何关闭TB?
!kill processId
?在我的例子中是notebook.list()在杀戮之后显示进程ID。如何删除它们?我在目录中没有日志文件。同样可以通过使用:<代码> RM -RF DrPrime<代码>类似于“代码> > RM- Rf/HOM/MyOpjy/Logs/*<代码>。请考虑写一些关于这个函数的解释,以及为什么您认为这是正确的解决方案。ider使用代码格式;-)绝对是jupyter笔记本电脑的快速黑客。这个解决方案为我解决了重复问题,谢谢@Сааааааа